-- | This module temporarily holds this class until it can find a better home. {-# LANGUAGE Rank2Types #-} module Control.MFunctor ( -- * Monads over functors MFunctor(..) ) where -- | A functor in the category of monads class MFunctor t where {-| Lift a monad morphism from @m@ to @n@ into a monad morphism from @(t m)@ to @(t n)@ -} mapT :: (Monad m, Monad n) => (forall a . m a -> n a) -> t m b -> t n b