1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{-# LANGUAGE MultiParamTypeClasses #-} -- Trac #2994 module T2994 where class MonadReader a b newtype Reader' r a = Reader' (r -> a) instance MonadReader Int instance MonadReader (Reader' r) instance MonadReader r r (Reader' r)