concrete functor and monad transformers
#51The type of evalContT should be generalized
Now that Applicative
has been a superclass of Monad
for a while, I think it's time to update the type of evalContT
. Currently, it's
evalContT :: Monad m => ContT r m r -> m r
but it works just fine with
evalContT :: Applicative m => ContT r m r -> m r
That would mean bumping the base dependency to 4.8. I'm not sure.
Perhaps guarding the constraint with a bit of CPP (i.e. newer base versions would use Applicative) would help everyone?