concrete functor and monad transformers
#77export orphan instance MonadPlus IO from Control.Monad.Trans.Except
Currently the orphan instances Alternative and MonadPlus IO are defined in Control.Monad.Trans.Error but this module is deprecated. Thus, its import gives a warning. I suggest that these instances may also be imported via Control.Monad.Trans.Except.
The instances could be defined in a private module whose instances are exported by both Control.Monad.Trans.Except and Control.Monad.Trans.Error.
Orphan instances are a bad idea, and these are one of the reasons for ditching the Error module, so they shouldn't be moved to Except. If the instances are to be defined at all, it should be in base.
They are defined in base>=4.9 i.e. GHC>=8.0. For older compilers, base-compat would be the natural alternative. However, base-compat does not implement these instances because they are present in transformers.
They'll be gone in the next release.
- status set to closed