Monad and MonadFix + some Applicative refinements
Foldable, Traversable, Generic