module Control.Monad.Trans.Has.Reader ( module Control.Monad.Trans.Has.Reader , module X ) where import "transformers" Control.Monad.Trans.Reader qualified as Reader import "transformers" Control.Monad.Trans.Reader as X (ReaderT(..)) import "this" Control.Monad.Trans.Has type HasReader r m = Has (ReaderT r) m ask :: HasReader r m => m r ask :: m r ask = (forall (n :: * -> *). Monad n => ReaderT r n r) -> m r forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. Has t m => (forall (n :: * -> *). Monad n => t n a) -> m a liftH forall (n :: * -> *). Monad n => ReaderT r n r forall (m :: * -> *) r. Monad m => ReaderT r m r Reader.ask