lift package:extensible-effects
embed an operation of type `m a` into the
Eff monad when
Lift m is in a part of the effect-list.
Lifting: emulating monad transformers
Treat Lefts as exceptions and Rights as return values.
Lift a maybe into the
Fail effect, causing failure if it's
Nothing.
A convenient alias to SetMember Lift (Lift m) r, which allows
us to assert that the lifted type occurs ony once in the effect list.
The handler of Lift requests. It is meant to be terminal: we only
allow a single Lifted Monad. Note, too, how this is different from
other handlers.