Module Bonsai__.Proc

type Bonsai__.Import.Component.unpacked += Abstraction : {
t : (unit, 'model'action'result'incr'event) Bonsai__.Import.Component.unpacked;
type_id : 'a Core_kernel.Type_equal.Id.t;
} -> ('a'model'action'result'incr'event) Bonsai__.Import.Component.unpacked | Var : {
type_id : 'a Core_kernel.Type_equal.Id.t;
} -> (unit, unit, Core_kernel.Nothing.t'a'incr'event) Bonsai__.Import.Component.unpacked
module Val : sig ... end
module Computation : sig ... end
val sub : ('a'incr'event) Computation.t -> f:('a Val.t -> ('b'incr'event) Computation.t) -> ('b'incr'event) Computation.t
val return : 'a Val.t -> ('a__) Computation.t
val apply : ('a'b'incr'event) Bonsai__.Import.Component.Packed.t -> 'a Val.t -> ('b'incr'event) Computation.t
val apply_unit : (unit, 'b'incr'event) Bonsai__.Import.Component.Packed.t -> ('b'incr'event) Computation.t
val proc : ('a Val.t -> ('b'incr'event) Computation.t) -> ('a'b'incr'event) Bonsai__.Import.Component.Packed.t
val if_ : bool Val.t -> then_:('a'incr'event) Computation.t -> else_:('a'incr'event) Computation.t -> ('a'incr'event) Computation.t
val enum : (module Bonsai__.Switch.Enum with type t = 'a) -> match_:'a Val.t -> with_:('a -> ('b'incr'event) Computation.t) -> ('b'incr'event) Computation.t