To_S.Minclude Base.Monad.S2module Let_syntax : sig ... endmodule Monad_infix : sig ... endSame as Infix, except the monad type has two arguments. The second is always just passed through.
include State_transform_types.Generic
with type ('a, 's) t := ('a, 's) t
and type 's state := 'sinclude State_transform_types.Generic_builders
with type 'a final := 'a
with type ('a, 's) t := ('a, 's) t
with type 's state := 'sinclude State_transform_types.Generic_types
with type 'a final := 'a
with type ('a, 's) t := ('a, 's) t
with type 's state := 'sval make : ('s -> 's * 'a) -> ('a, 's) tmake creates a context-sensitive computation that can modify both the current context and the data passing through.
val peek : ('s -> 'a) -> ('a, 's) tpeek creates a context-sensitive computation that can look at the current context, but not modify it.
modify creates a context-sensitive computation that can look at and modify the current context.
val return : 'a -> ('a, 's) treturn lifts a value or monad into a stateful computation.
module Inner : Base.Monad.SInner is the monad to which we're adding state.
State transformers have the same runner signatures as state monads, but lifted into the inner monad.
include State_transform_types.Fix with type ('a, 's) t := ('a, 's) t