module Control.Monad.Writer.CPS (
Writer,
runWriter,
execWriter,
mapWriter,
WriterT,
runWriterT,
execWriterT,
mapWriterT,
module X
) where
import Control.Monad as X
import Control.Monad.Fix as X
import Control.Monad.Trans as X
import Control.Monad.Writer.Class as X
import Data.Monoid as X
import Control.Monad.Trans.Writer.CPS hiding (writer, listen, pass)
import qualified Control.Monad.Trans.Writer.CPS as CPS
instance (Monoid w, Monad m) => MonadWriter w (CPS.WriterT w m) where
writer = CPS.writer
listen = CPS.listen
pass = CPS.pass