module Control.Monad.Trans.MultiGet.Class
(
MonadMultiGet(..)
)
where
import Control.Monad.Trans.Class ( MonadTrans
, lift )
class (Monad m) => MonadMultiGet a m where
mGet :: m a
instance (MonadTrans t, Monad (t m), MonadMultiGet a m)
=> MonadMultiGet a (t m) where
mGet :: t m a
mGet = m a -> t m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (m a -> t m a) -> m a -> t m a
forall a b. (a -> b) -> a -> b
$ m a
forall a (m :: * -> *). MonadMultiGet a m => m a
mGet