Functor Retype.UnionFind


module UnionFind: 
functor (Elem : sig
type t 
val equal : t -> t -> bool
val prefer : t -> t -> int
end) ->
functor (ElemSet : Set.S with type elt = Elem.t) ->
functor (ElemTable : Hashtbl.S with type key = Elem.t) -> sig .. end
Parameters:
Elem : sig type t val equal : t -> t -> bool val prefer : t -> t -> int end
ElemSet : Set.S with type elt = Elem.t
ElemTable : Hashtbl.S with type key = Elem.t

val table : ElemTable.key ElemTable.t
val ranks : int ElemTable.t
val repr : ElemTable.key -> ElemTable.key
val rank : ElemTable.key -> int
val unify : ElemTable.key -> ElemTable.key -> unit
val classes : unit -> ElemSet.t list
val one_class : ElemTable.key -> ElemTable.key list
val same_class : ElemTable.key -> ElemTable.key -> bool