@@ -36,6 +36,7 @@ module Control.Monad.Ether.State
3636import Data.Proxy (Proxy(Proxy))
3737import Control.Monad.Trans (lift)
3838
39+import Control.Monad.Trans.Ether.Reader (EtherReaderT)
3940import Control.Monad.Trans.Ether.State
4041
4142-- for mtl instances
@@ -93,6 +94,13 @@ instance (MonadEtherState tag s m) => MonadEtherState tag s (EtherStateT tag' s'
9394 etherPut proxy = lift . etherPut proxy
9495 etherState proxy = lift . etherState proxy
9596
97+-- Instances for other tagged transformers
98+
99+instance (MonadEtherState tag s m) => MonadEtherState tag s (EtherReaderT tag' r m) where
100+ etherGet proxy = lift (etherGet proxy)
101+ etherPut proxy = lift . etherPut proxy
102+ etherState proxy = lift . etherState proxy
103+
96104-- Instances for mtl transformers
97105
98106instance MonadEtherState tag s m => MonadEtherState tag s (Trans.ContT r m) where