This relaxes the Monad constraint for many functions using Proxy to Functor, throughout the library. The main places where this isn't possible are anything involving runEffect, or using MonadTrans, since lift requires a Monad constraint.
I also haven't touched the Tutorial module, because I'm not sure that it would make explaining things much easier to swap between Functor and Monad constraints.
This relaxes the Monad constraint for many functions using Proxy to Functor, throughout the library. The main places where this isn't possible are anything involving
runEffect
, or usingMonadTrans
, sincelift
requires a Monad constraint. I also haven't touched the Tutorial module, because I'm not sure that it would make explaining things much easier to swap between Functor and Monad constraints.