wip, spin-off gists: https://gist.github.com/Icelandjack/e42495341f6029aad8c7e4e4a12c34ce
Monad
gives Applicative
, Applicative
etc. gives Num
, Floating
, Fractional
(regardless of actual subclass relationship)
WrapMonad
tells us that a Monad
implies Functor
, Applicative
instance Monad m => Functor (WrappedMonad m)