sig
type 'b state = STATE
type (_, _) Generic_util.App.T.app +=
State :
('b -> 'a * 'b) -> ('a, 'b Generic_util_monad.State.state)
Generic_util.App.T.app
val run_state :
('a, 'b Generic_util_monad.State.state) Generic_util.App.T.app ->
'b -> 'a * 'b
val state : 'a Generic_util_monad.State.state Generic_util_monad.monad
val get : ('a, 'a Generic_util_monad.State.state) Generic_util.App.T.app
val put :
'a -> (unit, 'a Generic_util_monad.State.state) Generic_util.App.T.app
end