val is_root : node -> bool
val is_nil : node -> bool
-type unordered_set
+type tag_list
-val unordered_set_of_set : Ptset.Int.t -> unordered_set
+val tag_list_of_set : Ptset.Int.t -> tag_list
val first_child : t -> node -> node
val first_element : t -> node -> node
val tagged_child : t -> node -> Tag.t -> node
-val select_child : t -> node -> unordered_set -> node
+val select_child : t -> node -> tag_list -> node
val next_sibling : t -> node -> node
val prev_sibling : t -> node -> node
val next_element : t -> node -> node
val tagged_sibling : t -> node -> Tag.t -> node
-val select_sibling : t -> node -> unordered_set -> node
+val select_sibling : t -> node -> tag_list -> node
val tagged_descendant : t -> node -> Tag.t -> node
val tagged_next : t -> node -> Tag.t -> node
-val select_descendant : t -> node -> unordered_set -> node
+val select_descendant : t -> node -> tag_list -> node
val tagged_following_before : t -> node -> Tag.t -> node -> node
-val select_following_before : t -> node -> unordered_set -> node -> node
+val select_following_before : t -> node -> tag_list -> node -> node
val parent : t -> node -> node
val is_first_child : t -> node -> bool
val bit_vector_create : int -> bit_vector
val bit_vector_unsafe_set : bit_vector -> int -> bool -> unit
val bit_vector_unsafe_get : bit_vector -> int -> bool
+
+val reinit : unit -> unit
+
+type tree_pointer
+val get_tree_pointer : t -> tree_pointer