send package:fused-effects

Construct a request for an effect to be interpreted by some handler later on.
A type-restricted variant of sendM for IO actions. This is particularly useful when you have a Has (Lift IO) sig m constraint for the use of liftWith, and want to run an action abstracted over MonadIO. IO has a MonadIO instance, and sendIO’s type restricts the action’s type to IO without further type annotations.
Given a Lift n constraint in a signature carried by m, sendM promotes arbitrary actions of type n a to m a. It is spiritually similar to lift from the MonadTrans typeclass.