sig
type ('a, 'b) t
val empty : ('a, 'b) Avltree.t
val invariant : ('a, 'b) Avltree.t -> compare:('a -> 'a -> int) -> unit
val add :
('a, 'b) Avltree.t ->
compare:('a -> 'a -> int) ->
added:bool Pervasives.ref -> key:'a -> data:'b -> ('a, 'b) Avltree.t
val find :
('a, 'b) Avltree.t -> compare:('a -> 'a -> int) -> 'a -> 'b option
val mem : ('a, 'b) Avltree.t -> compare:('a -> 'a -> int) -> 'a -> bool
val remove :
('a, 'b) Avltree.t ->
removed:bool Pervasives.ref ->
compare:('a -> 'a -> int) -> 'a -> ('a, 'b) Avltree.t
val fold :
('a, 'b) Avltree.t -> init:'c -> f:(key:'a -> data:'b -> 'c -> 'c) -> 'c
val iter : ('a, 'b) Avltree.t -> f:(key:'a -> data:'b -> unit) -> unit
end