module Control.Monad.Trans.Has.Accum ( module Control.Monad.Trans.Has.Accum , module X ) where import "transformers" Control.Monad.Trans.Accum qualified as Accum import "transformers" Control.Monad.Trans.Accum as X (AccumT (..)) import "this" Control.Monad.Trans.Has type HasAccum w m = Has (AccumT w) m add :: HasAccum w m => w -> m () add :: w -> m () add w w = (forall (n :: * -> *). Monad n => AccumT w n ()) -> m () forall (t :: (* -> *) -> * -> *) (m :: * -> *) a. Has t m => (forall (n :: * -> *). Monad n => t n a) -> m a liftH ((forall (n :: * -> *). Monad n => AccumT w n ()) -> m ()) -> (forall (n :: * -> *). Monad n => AccumT w n ()) -> m () forall a b. (a -> b) -> a -> b $ w -> AccumT w n () forall (m :: * -> *) w. Monad m => w -> AccumT w m () Accum.add w w