class (Monad b, Monad m) <= MonadBase b m | m -> b where
liftBase :: ∀ a. b a -> m a
instance monadBaseReaderT :: (MonadBase b m) => MonadBase b (ReaderT r m) where
liftBase = lift <<< liftBase
This code fails with this error:
[1/1 NoInstanceFound] src/Control/Monad/Base.purs:13:1
v
13 instance monadBaseReaderT :: (MonadBase b m) => MonadBase b (ReaderT r m) where
14 liftBase = lift <<< liftBase
^
No type class instance was found for
Control.Monad.Monad b0
However, by adding a Monad b constraint to the instance monadBaseReaderT, it compiles. However, Monad b should be implied by MonadBase b m.
This code fails with this error:
[1/1 NoInstanceFound] src/Control/Monad/Base.purs:13:1 v 13 instance monadBaseReaderT :: (MonadBase b m) => MonadBase b (ReaderT r m) where 14 liftBase = lift <<< liftBase ^ No type class instance was found for Control.Monad.Monad b0However, by adding a
Monad bconstraint to the instancemonadBaseReaderT, it compiles. However,Monad bshould be implied byMonadBase b m.