MonadFailDesugaring changes do-notation pattern matching in GHC 8.8+
Goal Decide whether a custom monad transformer library should add MonadFail instances when targeting GHC 8.8 and later. In GHC 8.8+, fail moved out of the Monad class into MonadFail, and do-notation pattern-match failures desugar to MonadFail.fail instead of Monad.fail. The MonadFailDesugaring extension is enabled by default, but there is no automatic superc