sig
type 'a tree = { content : 'a; children : 'a AXOLang.LTree.tree list; }
exception Empty_tree
val node : 'a -> 'a AXOLang.LTree.tree list -> 'a AXOLang.LTree.tree
val get_content : 'a AXOLang.LTree.tree -> 'a
val get_children : 'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree list
val iter :
('a -> 'a AXOLang.LTree.tree list -> 'b) -> 'a AXOLang.LTree.tree -> unit
val iteri :
('a -> 'a AXOLang.LTree.tree list -> int -> 'b) ->
'a AXOLang.LTree.tree -> unit
val find :
('a -> 'a AXOLang.LTree.tree list -> bool) ->
'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree
val get_parent :
'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree
val get_depth : 'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree -> int
val map :
('a -> 'a AXOLang.LTree.tree list -> 'b * 'a AXOLang.LTree.tree list) ->
'a AXOLang.LTree.tree -> 'b AXOLang.LTree.tree
val filter :
('a -> 'a AXOLang.LTree.tree list -> bool) ->
'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree
val insert :
('a -> 'a AXOLang.LTree.tree list -> bool) ->
'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree
val insert_at :
'a AXOLang.LTree.tree ->
'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree
val move :
'a AXOLang.LTree.tree ->
'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree
val to_list : 'a AXOLang.LTree.tree -> 'a list
val is_in_lineage : 'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree -> bool
val sort :
?comp:('a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree -> int) ->
'a AXOLang.LTree.tree -> 'a AXOLang.LTree.tree
val fold : ('a -> 'b -> 'a) -> 'a -> 'b AXOLang.LTree.tree -> 'a
end