module Control.Monad.Trans.Has.Writer ( module Control.Monad.Trans.Has.Writer , module X ) where import "transformers" Control.Monad.Trans.Writer.Strict qualified as Writer import "transformers" Control.Monad.Trans.Writer.Strict as X (WriterT (..)) import "this" Control.Monad.Trans.Has type HasWriter w m = Has (WriterT w) m tell :: HasWriter w m => w -> m () tell :: w -> m () tell w w = (forall (n :: * -> *). Monad n => WriterT w n ()) -> m () forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. Has t m => (forall (n :: * -> *). Monad n => t n a) -> m a liftH ((forall (n :: * -> *). Monad n => WriterT w n ()) -> m ()) -> (forall (n :: * -> *). Monad n => WriterT w n ()) -> m () forall a b. (a -> b) -> a -> b $ w -> WriterT w n () forall (m :: * -> *) w. Monad m => w -> WriterT w m () Writer.tell w w