module Incr : sig ... endinclude sig ... end
type on_action_mismatch = [ | `Ignore| `Raise| `Warn
]val const : 'result -> ('a, 'result) tval pure : f:('input -> 'result) -> ('input, 'result) tval compose : ('i1, 'r1) t -> ('r1, 'r2) t -> ('i1, 'r2) 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 ->
default_model:'model ->
('input, 'result) tmodule type Enum = sig ... endval enum :
(module Enum with type t = 'key) ->
which:('input -> 'key) ->
handle:('key -> ('input, 'result) t) ->
('input, 'result) tval if_ :
('input -> bool) ->
then_:('input, 'result) t ->
else_:('input, 'result) t ->
('input, 'result) tmodule Infix : sig ... endval return : 'a -> ('b, 'a) tval map : ('e, 'a) t -> f:('a -> 'b) -> ('e, 'b) tval both : ('e, 'a) t -> ('e, 'b) t -> ('e, 'a * 'b) tval (<*>) : ('e, 'a -> 'b) t -> ('e, 'a) t -> ('e, 'b) tval (<*) : ('e, 'a) t -> ('e, unit) t -> ('e, 'a) tval (*>) : ('e, unit) t -> ('e, 'a) t -> ('e, 'a) tval (>>|) : ('e, 'a) t -> ('a -> 'b) -> ('e, 'b) tval apply : ('e, 'a -> 'b) t -> ('e, 'a) t -> ('e, 'b) tval map2 : ('e, 'a) t -> ('e, 'b) t -> f:('a -> 'b -> 'c) -> ('e, 'c) tval map3 :
('e, 'a) t ->
('e, 'b) t ->
('e, 'c) t ->
f:('a -> 'b -> 'c -> 'd) ->
('e, 'd) tval all : ('e, 'a) t list -> ('e, 'a list) tval all_unit : ('e, unit) t list -> ('e, unit) tmodule Proc : sig ... endmodule Arrow : sig ... end