Module Incremental__.Kind

include module type of sig ... end
type 'a t = 'a Incremental__Types.Kind.t =
| Array_fold : ('b'a0) Incremental__Types.Array_fold.t -> 'a0 t
| At : Incremental__Types.At.t -> Incremental.Before_or_after.t t
| At_intervals : Incremental__Types.At_intervals.t -> unit t
| Bind_lhs_change : ('c'd) Incremental__Types.Bind.t -> unit t
| Bind_main : ('e'a1) Incremental__Types.Bind.t -> 'a1 t
| Const of 'a
| Expert of 'a Incremental__Types.Expert.t
| Freeze of 'a Incremental__Types.Freeze.t
| If_test_change : 'f Incremental__Types.If_then_else.t -> unit t
| If_then_else of 'a Incremental__Types.If_then_else.t
| Invalid
| Join_lhs_change : 'g Incremental__Types.Join.t -> unit t
| Join_main of 'a Incremental__Types.Join.t
| Map : ('a10 -> 'a2) * 'a10 Incremental__Types.Node.t -> 'a2 t
| Snapshot of 'a Incremental__Types.Snapshot.t
| Step_function of 'a Incremental__Types.Step_function_node.t
| Uninitialized
| Unordered_array_fold : ('h'a3) Incremental__Types.Unordered_array_fold.t -> 'a3 t
| Var of 'a Incremental__Types.Var.t
| Map2 : ('a11 -> 'a20 -> 'a4) * 'a11 Incremental__Types.Node.t * 'a20 Incremental__Types.Node.t -> 'a4 t
| Map3 : ('a12 -> 'a21 -> 'a30 -> 'a5) * 'a12 Incremental__Types.Node.t * 'a21 Incremental__Types.Node.t * 'a30 Incremental__Types.Node.t -> 'a5 t
| Map4 : ('a13 -> 'a22 -> 'a31 -> 'a40 -> 'a6) * 'a13 Incremental__Types.Node.t * 'a22 Incremental__Types.Node.t * 'a31 Incremental__Types.Node.t * 'a40 Incremental__Types.Node.t -> 'a6 t
| Map5 : ('a14 -> 'a23 -> 'a32 -> 'a41 -> 'a50 -> 'a7) * 'a14 Incremental__Types.Node.t * 'a23 Incremental__Types.Node.t * 'a32 Incremental__Types.Node.t * 'a41 Incremental__Types.Node.t * 'a50 Incremental__Types.Node.t -> 'a7 t
| Map6 : ('a15 -> 'a24 -> 'a33 -> 'a42 -> 'a51 -> 'a60 -> 'a8) * 'a15 Incremental__Types.Node.t * 'a24 Incremental__Types.Node.t * 'a33 Incremental__Types.Node.t * 'a42 Incremental__Types.Node.t * 'a51 Incremental__Types.Node.t * 'a60 Incremental__Types.Node.t -> 'a8 t
| Map7 : ('a16 -> 'a25 -> 'a34 -> 'a43 -> 'a52 -> 'a61 -> 'a70 -> 'a9) * 'a16 Incremental__Types.Node.t * 'a25 Incremental__Types.Node.t * 'a34 Incremental__Types.Node.t * 'a43 Incremental__Types.Node.t * 'a52 Incremental__Types.Node.t * 'a61 Incremental__Types.Node.t * 'a70 Incremental__Types.Node.t -> 'a9 t
| Map8 : ('a17 -> 'a26 -> 'a35 -> 'a44 -> 'a53 -> 'a62 -> 'a71 -> 'a80 -> 'a18) * 'a17 Incremental__Types.Node.t * 'a26 Incremental__Types.Node.t * 'a35 Incremental__Types.Node.t * 'a44 Incremental__Types.Node.t * 'a53 Incremental__Types.Node.t * 'a62 Incremental__Types.Node.t * 'a71 Incremental__Types.Node.t * 'a80 Incremental__Types.Node.t -> 'a18 t
| Map9 : ('a19 -> 'a27 -> 'a36 -> 'a45 -> 'a54 -> 'a63 -> 'a72 -> 'a81 -> 'a90 -> 'a28) * 'a19 Incremental__Types.Node.t * 'a27 Incremental__Types.Node.t * 'a36 Incremental__Types.Node.t * 'a45 Incremental__Types.Node.t * 'a54 Incremental__Types.Node.t * 'a63 Incremental__Types.Node.t * 'a72 Incremental__Types.Node.t * 'a81 Incremental__Types.Node.t * 'a90 Incremental__Types.Node.t -> 'a28 t
| Map10 : ('a110 -> 'a29 -> 'a37 -> 'a46 -> 'a55 -> 'a64 -> 'a73 -> 'a82 -> 'a91 -> 'a100 -> 'a38) * 'a110 Incremental__Types.Node.t * 'a29 Incremental__Types.Node.t * 'a37 Incremental__Types.Node.t * 'a46 Incremental__Types.Node.t * 'a55 Incremental__Types.Node.t * 'a64 Incremental__Types.Node.t * 'a73 Incremental__Types.Node.t * 'a82 Incremental__Types.Node.t * 'a91 Incremental__Types.Node.t * 'a100 Incremental__Types.Node.t -> 'a38 t
| Map11 : ('a111 -> 'a210 -> 'a39 -> 'a47 -> 'a56 -> 'a65 -> 'a74 -> 'a83 -> 'a92 -> 'a101 -> 'a112 -> 'a48) * 'a111 Incremental__Types.Node.t * 'a210 Incremental__Types.Node.t * 'a39 Incremental__Types.Node.t * 'a47 Incremental__Types.Node.t * 'a56 Incremental__Types.Node.t * 'a65 Incremental__Types.Node.t * 'a74 Incremental__Types.Node.t * 'a83 Incremental__Types.Node.t * 'a92 Incremental__Types.Node.t * 'a101 Incremental__Types.Node.t * 'a112 Incremental__Types.Node.t -> 'a48 t
| Map12 : ('a113 -> 'a211 -> 'a310 -> 'a49 -> 'a57 -> 'a66 -> 'a75 -> 'a84 -> 'a93 -> 'a102 -> 'a114 -> 'a120 -> 'a58) * 'a113 Incremental__Types.Node.t * 'a211 Incremental__Types.Node.t * 'a310 Incremental__Types.Node.t * 'a49 Incremental__Types.Node.t * 'a57 Incremental__Types.Node.t * 'a66 Incremental__Types.Node.t * 'a75 Incremental__Types.Node.t * 'a84 Incremental__Types.Node.t * 'a93 Incremental__Types.Node.t * 'a102 Incremental__Types.Node.t * 'a114 Incremental__Types.Node.t * 'a120 Incremental__Types.Node.t -> 'a58 t
| Map13 : ('a115 -> 'a212 -> 'a311 -> 'a410 -> 'a59 -> 'a67 -> 'a76 -> 'a85 -> 'a94 -> 'a103 -> 'a116 -> 'a121 -> 'a130 -> 'a68) * 'a115 Incremental__Types.Node.t * 'a212 Incremental__Types.Node.t * 'a311 Incremental__Types.Node.t * 'a410 Incremental__Types.Node.t * 'a59 Incremental__Types.Node.t * 'a67 Incremental__Types.Node.t * 'a76 Incremental__Types.Node.t * 'a85 Incremental__Types.Node.t * 'a94 Incremental__Types.Node.t * 'a103 Incremental__Types.Node.t * 'a116 Incremental__Types.Node.t * 'a121 Incremental__Types.Node.t * 'a130 Incremental__Types.Node.t -> 'a68 t
| Map14 : ('a117 -> 'a213 -> 'a312 -> 'a411 -> 'a510 -> 'a69 -> 'a77 -> 'a86 -> 'a95 -> 'a104 -> 'a118 -> 'a122 -> 'a131 -> 'a140 -> 'a78) * 'a117 Incremental__Types.Node.t * 'a213 Incremental__Types.Node.t * 'a312 Incremental__Types.Node.t * 'a411 Incremental__Types.Node.t * 'a510 Incremental__Types.Node.t * 'a69 Incremental__Types.Node.t * 'a77 Incremental__Types.Node.t * 'a86 Incremental__Types.Node.t * 'a95 Incremental__Types.Node.t * 'a104 Incremental__Types.Node.t * 'a118 Incremental__Types.Node.t * 'a122 Incremental__Types.Node.t * 'a131 Incremental__Types.Node.t * 'a140 Incremental__Types.Node.t -> 'a78 t
| Map15 : ('a119 -> 'a214 -> 'a313 -> 'a412 -> 'a511 -> 'a610 -> 'a79 -> 'a87 -> 'a96 -> 'a105 -> 'a1110 -> 'a123 -> 'a132 -> 'a141 -> 'a150 -> 'a88) * 'a119 Incremental__Types.Node.t * 'a214 Incremental__Types.Node.t * 'a313 Incremental__Types.Node.t * 'a412 Incremental__Types.Node.t * 'a511 Incremental__Types.Node.t * 'a610 Incremental__Types.Node.t * 'a79 Incremental__Types.Node.t * 'a87 Incremental__Types.Node.t * 'a96 Incremental__Types.Node.t * 'a105 Incremental__Types.Node.t * 'a1110 Incremental__Types.Node.t * 'a123 Incremental__Types.Node.t * 'a132 Incremental__Types.Node.t * 'a141 Incremental__Types.Node.t * 'a150 Incremental__Types.Node.t -> 'a88 t
include Core_kernel.Invariant.S1 with type 'a t := 'a t
type 'a t
val invariant : 'a Base__.Invariant_intf.inv -> 'a t Base__.Invariant_intf.inv
include Incremental__.Sexp_of.S1 with type 'a t := 'a t
type 'a t
val sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t
val name : _ t -> string
val initial_num_children : _ t -> int
val slow_get_child : _ t -> index:int -> Incremental__.Types.Node.Packed.t

slow_get_child t ~index raises unless 0 <= index < max_num_children t. It will also raise if the index'th child is currently undefined (e.g. a bind node with no current rhs).

val bind_rhs_child_index : int
val freeze_child_index : int
val if_branch_child_index : int
val join_rhs_child_index : int
val iteri_children : _ t -> f:(int -> Incremental__.Types.Node.Packed.t -> unit) -> unit