Reader/Writer/State are
handled in extensible-effects inside Control.Eff.State. Cont
is handled in Control.Eff.Coroutine (although could use better
documentation, patches welcome!). RWS isn't done, but I don't
see why it can't be implemented in terms of State! Error is
provided by Control.Eff.Exception, and a substitute for
monad-supply is provided by Control.Eff.Fresh. Random numbers
are in a new package: system-random-effect.
Eff is an instance of
applicative, but not MonadPlus. I don't immediately see a way
to make it an instance of MonadPlus, especially since we can
have an 'IO' effect.