This is another part of https://gitlab.haskell.org/ghc/ghc/merge_requests/644, which is presumably much less controversial:

Generic (Kleisli m a b)
Functor m => Functor (Kleisli m a)
Applicative m => Applicative (Kleisli m a)
Alternative m => Alternative (Kleisli m a)
Monad m => Monad (Kleisli m a)
(Alternative m, Monad m) => MonadPlus (Kleisli m a)