Why there is no MaybeT transformer in library? There is a implemenation of it here:
Why not to put it inside?
It is already in transformers and mtl depends on transformers.
There is no class required for MaybeT, however. It is described entirely by MonadPlus
Just import Control.Monad.Trans.Maybe.
A case might be made that perhaps we should offer a Control.Monad.Maybe to re-export it here though.
Actually the case is that it will not offer these lovely instances which avoid have usage of lifting common in transformers library.
If we're missing instances for lifting over MaybeT then I should definitely fix that. It just doesn't have/need a class of its own.
They are all here. e.g. there is already an
instance MonadState s m => MonadState s (MaybeT m)
They are in the MaybeT package, but the version in transformers does not have them. Compare:
For example the above mentioned
MonadState s m => MonadState s (MaybeT m)
is not there in the transformers version.
Ah nevermind. The instances are on MonadState (etc) in mtl.