:: Maybe a -> [a] package:fused-effects

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.
Zero or more.
many m = some m <|> pure []
One or more.
some m = (:) <$> m <*> many m