type ('st, 'a, 'b) op = ('st, 'a, 'b) Dolmen_loop__Pipeline.Make(State).optype ('st, 'a, 'b) t = ('st, 'a, 'b) Dolmen_loop__Pipeline.Make(State).ttype !'st merge = 'st -> 'st -> 'sttype (!'st, !'a) fix = [ | `Gen of 'st merge * ('st -> 'st * 'a option)| `Ok
]type (!'a, !'b) cont = [ | `Continue of 'b| `Done of 'a
]type !'st k_exn = 'st Dolmen_loop__Pipeline.Make(State).k_exn = {k : 'a. 'st -> Stdlib.Printexc.raw_backtrace -> exn -> 'a;
}val op : ?name:string -> ('st -> 'a -> 'st * 'b) -> ('st, 'a, 'b) opval apply : ?name:string -> ('a -> 'b) -> ('c, 'a, 'b) opval iter_ : ?name:string -> ('a -> unit) -> ('b, 'a, 'a) opval f_map :
?name:string ->
?test:('st -> 'a -> bool) ->
('st -> 'a -> 'st * 'b) ->
('st, 'a, ('a, 'b) cont) opval _end : ('b, 'a, 'a) tval (@>>>) : ('st, 'a, 'b) op -> ('st, 'b, 'c) t -> ('st, 'a, 'c) tval (@>|>) : ('st, 'a, ('b, 'c) cont) op -> ('st, 'c, 'b) t -> ('st, 'a, 'b) tval (@|||) : ('st, 'a, 'b) t -> ('st, 'b, 'c) t -> ('st, 'a, 'c) tval fix : ('st, 'a, ('st, 'a) fix) op -> ('st, 'a, unit) t -> ('st, 'a, unit) tval eval : exn:'st k_exn -> ('st, 'a, 'b) t -> 'st -> 'a -> 'st * 'b