Travesty.State_types
module type Generic = sig ... end
Generic
contains the signature bits common to all state monad signatures.
module type S = sig ... end
S
is the signature of state monads parametrised over their value, but with a fixed state type.
module type S2 = sig ... end
S2
is the signature of state monads parametrised over both value and state types.