Functor DisjointSet.Make

module Make: 
functor (M : Hashtbl.HashedType) -> sig .. end
Parameters:
M : Hashtbl.HashedType

module HT: Hashtbl.Make(M)
type set = {
   id : int;
   mutable parent : set option;
   mutable rank : int;
}
type t = {
   set_map : set HT.t;
   mutable size : int;
}
val create : int -> t
val copy : t -> t
val find_impl : set -> set
val find : t -> HT.key -> set
val eq : set -> set -> bool
val union : set -> set -> set
val same_set : t ->
HT.key -> HT.key -> bool
module SetMap: Map.Make(sig
type t = DisjointSet.Make.set 
val compare : DisjointSet.Make.set -> DisjointSet.Make.set -> int
end)
val reverse_map : t ->
'a -> (HT.key -> 'a -> 'a) -> HT.key -> 'a
val clear : t -> unit