@@ -84,10 +84,22 @@ tell :: Monad m => proxy tag -> w -> WriterT tag w m ()
8484tell t w = writer t ((), w)
8585
8686-- | Executes an action and adds its accumulator to the value of the computation.
87−listen :: (Monoid w, Monad m) => proxy tag -> WriterT tag w m a -> WriterT tag w m (a, w)
87+listen
88+#if __GLASGOW_HASKELL__ < 800
89+ :: (Monad m, Monoid w)
90+#else
91+ :: Monad m
92+#endif
93+ => proxy tag -> WriterT tag w m a -> WriterT tag w m (a, w)
8894listen _ = pack . Trans.listen . unpack
8995
9096-- | Executes an action which returns a value and a function, and returns the
9197-- value, applying the function to the accumulator.
92−pass :: (Monoid w, Monad m) => proxy tag -> WriterT tag w m (a, w -> w) -> WriterT tag w m a
98+pass
99+#if __GLASGOW_HASKELL__ < 800
100+ :: (Monad m, Monoid w)
101+#else
102+ :: Monad m
103+#endif
104+ => proxy tag -> WriterT tag w m (a, w -> w) -> WriterT tag w m a
93105pass _ = pack . Trans.pass . unpack