type !'custom mismatch_behavior = [ | `Custom of 'custom| `Ignore| `Raise| `Warn
]type (!'extra, !'new_model) on_action_mismatch =
('extra -> 'new_model) mismatch_behaviorval const : 'result -> ('a, 'b, 'result) tval pure : f:('input -> 'result) -> ('input, 'a, 'result) tval pure_from_model : f:('model -> 'result) -> ('a, 'model, 'result) tval compose :
('i1, 'model, 'r1) t ->
('r1, 'model, 'r2) t ->
('i1, 'model, 'r2) tmodule Infix : sig ... endval return : 'a -> ('b, 'c, 'a) tval map : ('d, 'e, 'a) t -> f:('a -> 'b) -> ('d, 'e, 'b) tval both : ('d, 'e, 'a) t -> ('d, 'e, 'b) t -> ('d, 'e, 'a * 'b) tval (<*>) : ('d, 'e, 'a -> 'b) t -> ('d, 'e, 'a) t -> ('d, 'e, 'b) tval (<*) : ('d, 'e, 'a) t -> ('d, 'e, unit) t -> ('d, 'e, 'a) tval (*>) : ('d, 'e, unit) t -> ('d, 'e, 'a) t -> ('d, 'e, 'a) tval (>>|) : ('d, 'e, 'a) t -> ('a -> 'b) -> ('d, 'e, 'b) tval apply : ('d, 'e, 'a -> 'b) t -> ('d, 'e, 'a) t -> ('d, 'e, 'b) tval map2 :
('d, 'e, 'a) t ->
('d, 'e, 'b) t ->
f:('a -> 'b -> 'c) ->
('d, 'e, 'c) tval map3 :
('d, 'e, 'a) t ->
('d, 'e, 'b) t ->
('d, 'e, 'c) t ->
f:('a -> 'b -> 'c -> 'result) ->
('d, 'e, 'result) tval all : ('d, 'e, 'a) t list -> ('d, 'e, 'a list) tval all_unit : ('d, 'e, unit) t list -> ('d, 'e, unit) tmodule type S = sig ... endtype (!'input, !'model, !'action, !'result) component_s =
(module S
with type Action.t = 'action
and type Input.t = 'input
and type Model.t = 'model
and type Result.t = 'result)val of_module :
('input, 'model, 'action, 'result) component_s ->
('input, 'model, 'result) t