sig   type +'a tree   val empty : 'a BatAvlTree.tree   val is_empty : 'a BatAvlTree.tree -> bool   val make_tree :     'a BatAvlTree.tree -> 'a -> 'a BatAvlTree.tree -> 'a BatAvlTree.tree   val create :     'a BatAvlTree.tree -> 'a -> 'a BatAvlTree.tree -> 'a BatAvlTree.tree   val height : 'a BatAvlTree.tree -> int   val left_branch : 'a BatAvlTree.tree -> 'a BatAvlTree.tree   val right_branch : 'a BatAvlTree.tree -> 'a BatAvlTree.tree   val root : 'a BatAvlTree.tree -> 'a   val singleton_tree : 'a -> 'a BatAvlTree.tree   val split_leftmost : 'a BatAvlTree.tree -> 'a * 'a BatAvlTree.tree   val split_rightmost : 'a BatAvlTree.tree -> 'a * 'a BatAvlTree.tree   val concat : 'a BatAvlTree.tree -> 'a BatAvlTree.tree -> 'a BatAvlTree.tree   val iter : ('a -> unit) -> 'a BatAvlTree.tree -> unit   val fold : ('a -> 'b -> 'b) -> 'a BatAvlTree.tree -> 'b -> 'b   val enum : 'a BatAvlTree.tree -> 'a BatEnum.t   val check : 'a BatAvlTree.tree -> bool   val check_height_cache : 'a BatAvlTree.tree -> bool   val check_height_balance : 'a BatAvlTree.tree -> bool end