module type S = sig ... endval create : ?random:bool -> int -> ('a, 'b) tval reset : ('a, 'b) t -> unitval remove : ('a, _) t -> 'a -> unitval length : (_, _) t -> intval iter : ('a, 'b) t -> f:(key:'a -> data:'b -> unit) -> unitval replace : ('a, 'b) t -> key:'a -> data:'b -> unitval add : ('a, 'b) t -> 'a -> 'b -> unitval find : ('a, 'b) t -> 'a -> 'b optionval find_exn : ('a, 'b) t -> 'a -> 'bval find_or_add : ('a, 'b) t -> 'a -> f:('a -> 'b) -> 'bval fold : ('a, 'b) t -> init:'c -> f:('b -> 'c -> 'c) -> 'cval foldi : ('a, 'b) t -> init:'c -> f:('a -> 'b -> 'c -> 'c) -> 'cval mem : ('a, _) t -> 'a -> boolval keys : ('a, _) t -> 'a list