Module Incremental__Types.Node

type 'a t = {
id : Incremental__.Node_id.t;
state : State.t;
mutable recomputed_at : Incremental__.Stabilization_num.t;
mutable value_opt : 'a Incremental__.Import.Uopt.t;
mutable kind : 'a Kind.t;
mutable cutoff : 'a Incremental.Cutoff.t;
mutable changed_at : Incremental__.Stabilization_num.t;
mutable num_on_update_handlers : int;
mutable num_parents : int;
mutable parent1_and_beyond : Node.Packed.t Incremental__.Import.Uopt.t array;
mutable parent0 : Node.Packed.t Incremental__.Import.Uopt.t;
mutable created_in : Scope.t;
mutable next_node_in_same_scope : Node.Packed.t Incremental__.Import.Uopt.t;
mutable height : int;
mutable height_in_recompute_heap : int;
mutable prev_in_recompute_heap : Node.Packed.t Incremental__.Import.Uopt.t;
mutable next_in_recompute_heap : Node.Packed.t Incremental__.Import.Uopt.t;
mutable height_in_adjust_heights_heap : int;
mutable next_in_adjust_heights_heap : Node.Packed.t Incremental__.Import.Uopt.t;
mutable old_value_opt : 'a Incremental__.Import.Uopt.t;
mutable observers : 'a Internal_observer.t Incremental__.Import.Uopt.t;
mutable is_in_handle_after_stabilization : bool;
mutable on_update_handlers : 'a Incremental__.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;
}
val sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t
module Packed : sig ... end
val is_valid : _ t -> bool
val is_necessary : _ t -> bool
val type_equal_if_phys_same : 'a t -> 'b t -> ('a'b) Core_kernel.Type_equal.t option