type ('a, 'b) bucket = | Empty| Cons of {mutable key : 'a;mutable data : 'b;mutable next : ('a, 'b) bucket;
}
type ('a, 'b) t = {mutable size : int;mutable data : ('a, 'b) bucket array;initial_size : int;
}val create : int -> ('a, 'b) tval clear : ('a, 'b) t -> unitval reset : ('a, 'b) t -> unitval length : ('a, 'b) t -> intval resize : (('a, 'b) t -> 'c -> int) -> ('a, 'b) t -> unitval iter : ('a, 'b) t -> ('c -> 'd -> 'e) -> unitval fold : ('a, 'b) t -> 'c -> ('d -> 'e -> 'f -> 'g) -> 'hval to_list : ('a, 'b) t -> ('c -> 'd -> 'e) -> 'f listval small_bucket_mem : ('a, 'b) bucket -> ('c -> 'd -> bool) -> 'e -> boolval small_bucket_opt : ('a -> 'b -> bool) -> 'c -> ('d, 'e) bucket -> 'f optionval small_bucket_key_opt :
('a -> 'b -> bool) ->
'c ->
('d, 'e) bucket ->
'f optionval small_bucket_default :
('a -> 'b -> bool) ->
'c ->
'd ->
('e, 'f) bucket ->
'gval remove_bucket :
('a, 'b) t ->
int ->
'c ->
prec:('d, 'e) bucket ->
('f, 'g) bucket ->
('h -> 'i -> bool) ->
unitval replace_bucket : 'a -> 'b -> ('c, 'd) bucket -> ('e -> 'f -> bool) -> boolmodule type S = sig ... end