@@ -24,6 +24,7 @@ import qualified Control.Monad.Trans.Except as Trans (ExceptT , m
2424import qualified Control.Monad.Trans.Identity as Trans (IdentityT, mapIdentityT)
2525import qualified Control.Monad.Trans.List as Trans (ListT , mapListT)
2626import qualified Control.Monad.Trans.Maybe as Trans (MaybeT , mapMaybeT)
27+import qualified Control.Monad.Trans.Reader as Trans (ReaderT , mapReaderT)
2728import qualified Control.Monad.Trans.State.Lazy as Trans.Lazy (StateT , mapStateT)
2829import qualified Control.Monad.Trans.State.Strict as Trans.Strict (StateT , mapStateT)
2930import qualified Control.Monad.Trans.Writer.Lazy as Trans.Lazy (WriterT , mapWriterT)
@@ -70,6 +71,10 @@ instance MonadEtherReader tag r m => MonadEtherReader tag r (Trans.MaybeT m) whe
7071 etherAsk proxy = lift (etherAsk proxy)
7172 etherLocal proxy = Trans.mapMaybeT . etherLocal proxy
7273
74+instance MonadEtherReader tag r m => MonadEtherReader tag r (Trans.ReaderT r' m) where
75+ etherAsk proxy = lift (etherAsk proxy)
76+ etherLocal proxy = Trans.mapReaderT . etherLocal proxy
77+
7378instance MonadEtherReader tag r m => MonadEtherReader tag r (Trans.Lazy.StateT s m) where
7479 etherAsk proxy = lift (etherAsk proxy)
7580 etherLocal proxy = Trans.Lazy.mapStateT . etherLocal proxy