val run : ( 'a -> 'b ) -> 'c -> 'dval get_state : 'a -> 'b -> 'c * 'dval set_state : 'a -> 'b -> 'c -> 'd * unitval modify_state : ( 'a -> 'b ) -> 'c -> 'd -> 'e * unitval map2 : ( 'a -> 'b ) -> ( 'c -> 'd ) -> f:( 'e -> 'f -> 'g ) -> 'h -> 'ival read_var : 'field Cvar.t -> ( 'field0, 'field0 ) tval read :
( 'var, 'value, 'field, 'a ) Types.Typ.t ->
'var0 ->
( 'value0, 'field0 ) tval (>>=) : ( 'a, 'e ) t -> ( 'a0 -> ( 'b, 'e0 ) t ) -> ( 'b0, 'e1 ) tval (>>|) : ( 'a, 'e ) t -> ( 'a0 -> 'b ) -> ( 'b0, 'e0 ) tval bind : ( 'a, 'e ) t -> f:( 'a0 -> ( 'b, 'e0 ) t ) -> ( 'b0, 'e1 ) tval return : 'a -> ( 'a0, 'b ) tval map : ( 'a, 'e ) t -> f:( 'a0 -> 'b ) -> ( 'b0, 'e0 ) tval join : ( ( 'a, 'e ) t, 'e0 ) t -> ( 'a0, 'e1 ) tval ignore_m : ( 'a, 'e ) t -> ( unit, 'e0 ) tval all : ( 'a, 'e ) t list -> ( 'a0 list, 'e0 ) tval all_unit : ( unit, 'e ) t list -> ( unit, 'e0 ) t