module Hashtbl: sig .. end
 
val create : ?random:bool -> int -> ('a, 'b) t 
 
val clear : ('a, 'b) t -> unit 
 
val reset : ('a, 'b) t -> unit 
 
val copy : ('a, 'b) t -> ('a, 'b) t 
 
val add : ('a, 'b) t -> key:'a -> data:'b -> unit 
 
val find : ('a, 'b) t -> 'a -> 'b 
 
val find_all : ('a, 'b) t -> 'a -> 'b list 
 
val mem : ('a, 'b) t -> 'a -> bool 
 
val remove : ('a, 'b) t -> 'a -> unit 
 
val replace : ('a, 'b) t -> key:'a -> data:'b -> unit 
 
val iter : f:(key:'a -> data:'b -> unit) -> ('a, 'b) t -> unit 
 
val fold : f:(key:'a -> data:'b -> 'c -> 'c) ->
       ('a, 'b) t -> init:'c -> 'c 
 
val length : ('a, 'b) t -> int 
 
val randomize : unit -> unit
 
 
 
 
 
module type S = sig .. end 
 
 
 
 
val hash : 'a -> int
 
val seeded_hash : int -> 'a -> int
 
val hash_param : int -> int -> 'a -> int
 
val seeded_hash_param : int -> int -> int -> 'a -> int