1type ('a, 'b) t 2 3val create : cmp:('a -> 'a -> int) -> ('a, 'b) t 4val add : ('a, 'b) t -> key:'a -> data:'b -> ('a, 'b) t 5val remove : ('a, 'b) t -> key:'a -> ('a, 'b) t 6val find : ('a, 'b) t -> key:'a -> 'b option 7val iter : ('a, 'b) t -> f:(key:'a -> data:'b -> unit) -> unit