`type 'a t````=` `{`

`id : Incremental_kernel__.Node_id.t;`
`mutable recomputed_at : Incremental_kernel__.Stabilization_num.t;`
`mutable value_opt : 'a Incremental_kernel__.Uopt.t;`
`mutable kind : 'a Kind.t;`
`mutable cutoff : 'a Incremental_kernel__.Cutoff.t;`
`mutable changed_at : Incremental_kernel__.Stabilization_num.t;`
`mutable num_on_update_handlers : int;`
`mutable num_parents : int;`
`mutable parent1_and_beyond : Packed_node.t Incremental_kernel__.Uopt.t array;`
`mutable parent0 : Packed_node.t Incremental_kernel__.Uopt.t;`
`mutable created_in : Scope.t;`
`mutable next_node_in_same_scope : Packed_node.t Incremental_kernel__.Uopt.t;`
`mutable height : int;`
`mutable height_in_recompute_heap : int;`
`mutable prev_in_recompute_heap : Packed_node.t Incremental_kernel__.Uopt.t;`
`mutable next_in_recompute_heap : Packed_node.t Incremental_kernel__.Uopt.t;`
`mutable height_in_adjust_heights_heap : int;`
`mutable next_in_adjust_heights_heap : Packed_node.t Incremental_kernel__.Uopt.t;`
`mutable old_value_opt : 'a Incremental_kernel__.Uopt.t;`
`mutable observers : 'a Internal_observer.t Incremental_kernel__.Uopt.t;`
`mutable is_in_handle_after_stabilization : bool;`
`mutable on_update_handlers : 'a Incremental_kernel__.On_update_handler.t list;`
`mutable my_parent_index_in_child_at_index : int array;`
`mutable my_child_index_in_parent_at_index : int array;`
`mutable force_necessary : bool;`
`mutable user_info : Core_kernel.Info.t option;`
`creation_backtrace : Core_kernel.Backtrace.t option;`

`}```
`include sig ... end`
`val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t`
`val pack : _ t ‑> Packed_node.t`
`val is_valid : _ t ‑> bool`
`val is_necessary : _ t ‑> bool`