class (Applicative f, forall a. Monoid (f a)) => Alternative f

class (forall m. Monad m => Monad (t m)) => MonadTrans t where
  lift :: Monad m => m a -> t m a

이런거