The [Applicative-Monad Proposal (AMP)](https://wiki.haskell.org/Functor-Applicative-Monad_Proposal) requires every monad to have an instance of Applicative as well. There's a section about [Future Proofing Current Code](https://wiki.haskell.org/Functor-Applicative-Monad_Proposal#Future-proofing_current_code), which describes the minimal changes that need to be done.