functor (X : HashedType) -> sig type elt = X.t val hashcons : elt -> elt val mem : elt -> bool val fresh_unique_id : unit -> int val stats : unit -> int * int * int * int * int * int end