val dump_node : 'a node -> string
-val nil : 'a node
+val nil : [ `Tree ] node
val root : [ `Tree ] node
val is_root : [ `Tree ] node -> bool
val parent : t -> [ `Tree ] node -> [ `Tree ] node
val first_child : t -> [ `Tree ] node -> [ `Tree ] node
+val first_element : t -> [ `Tree ] node -> [ `Tree ] node
val tagged_child : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node
val select_child : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node
val next_sibling : t -> [ `Tree ] node -> [ `Tree ] node
+val next_element : t -> [ `Tree ] node -> [ `Tree ] node
+
val next_sibling_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
+val next_element_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
val tagged_sibling : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node
val tagged_sibling_ctx : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
val count : t -> string -> int
val print_xml_fast : out_channel -> t -> [ `Tree ] node -> unit
+val tags_children : t -> Tag.t -> Ptset.Int.t
val tags_below : t -> Tag.t -> Ptset.Int.t
+val tags_siblings : t -> Tag.t -> Ptset.Int.t
val tags_after : t -> Tag.t -> Ptset.Int.t
-val tags : t -> Tag.t -> Ptset.Int.t*Ptset.Int.t
+val tags : t -> Tag.t -> Ptset.Int.t*Ptset.Int.t*Ptset.Int.t*Ptset.Int.t
val is_below_right : t -> [`Tree] node -> [`Tree] node -> bool
val is_left : t -> [`Tree] node -> bool
val get_text : t -> [`Tree] node -> string
val dump_tree : Format.formatter -> t -> unit
+val subtree_size : t -> [`Tree] node -> int
+val text_below : t -> [`Tree] node -> [`Tree] node
+val text_next : t -> [`Tree] node -> [`Tree] node -> [`Tree] node