sig
type elt
+ type data
type t
val empty : t
val is_empty : t -> bool
val uid : t -> int
val uncons : t -> elt * t
val from_list : elt list -> t
+val make : data -> t
+val node : t -> data
end
-module Int : S with type elt = int
+module Int : sig
+ include S with type elt = int
+ val print : Format.formatter -> t -> unit
+end
module Make ( H : Hcons.S ) : S with type elt = H.t