module Make: functor (M : Monoid.S) -> sig .. end
functor (
M
:
Monoid.S
) ->
sig
end
include Monad.S
val run : 'a t -> M.t * 'a
'a t -> M.t * 'a
val writer : 'a -> M.t -> 'a t
'a -> M.t -> 'a t
val tell : M.t -> unit t
M.t -> unit t
val listen : 'a t -> ('a * M.t) t
'a t -> ('a * M.t) t
val censor : (M.t -> M.t) -> 'a t -> 'a t
(M.t -> M.t) -> 'a t -> 'a t