Module Hashcons (.ml)

module Hashcons: sig .. end
Hash tables for hash consing

module type HashedType = sig .. end
module type S = sig .. end
module Make: 
functor (H : HashedType) -> S with type t = H.t
val combine : int -> int -> int
val combine2 : int -> int -> int -> int
val combine3 : int -> int -> int -> int -> int
val combine_list : ('a -> int) -> int -> 'a list -> int
val combine_option : ('a -> int) -> 'a option -> int
val combine_pair : ('a -> int) -> ('b -> int) -> 'a * 'b -> int
type 'a hash_consed = private {
   tag : int;
   node : 'a;
}
module type HashedType_consed = sig .. end
module type S_consed = sig .. end
module Make_consed: 
functor (H : HashedType_consed) -> S_consed with type key = H.t