Functor Writer.Make

module Make: 
functor (M : Monoid.S) -> sig .. end
Parameters:
M : Monoid.S

include Monad.S
val run : 'a t -> M.t * 'a
val writer : 'a -> M.t -> 'a t
val tell : M.t -> unit t
val listen : 'a t -> ('a * M.t) t
val censor : (M.t -> M.t) -> 'a t -> 'a t