Por que o `mfix` não é total no` MaybeT`

oimplementação de transformadores doMonadFix paraMaybeT falhará se a função for avaliada comoNothing. Porque éNothing não se propagandomfix?

mfix' :: MonadFix m => (a -> MaybeT m a) -> MaybeT m a
mfix' f = MaybeT $ mfix $ \case
  Nothing -> return Nothing
  Just x -> runMaybeT $ f x

Deve haver uma boa razão que eu não vejo porqueListT não implementaMonadFix de todo eMaybe implementado mesmo jeito como acima.