Monad. Eff. Class
MonadEff class captures those monads which support native effects.
Instances are provided for
Eff itself, and the standard monad
liftEff can be used in any appropriate monad transformer stack to lift an
action of type
Eff eff a into the monad.
MonadEff is parameterized by the row of effects, so type
inference can be tricky. It is generally recommended to either work with a
polymorphic row of effects, or a concrete, closed row of effects such as
(trace :: Trace).