module Union_find:Disjoint-sets.sig..end
All of the operations are effectively (amortized) constant time.
type 'a t
type 'a t is the type of objects, where each object is part of an
equivalence class that is associated with a single value of type 'a.val create : 'a -> 'a tcreate v returns a new object in its own equivalence class that has value
v.val get : 'a t -> 'aval set : 'a t -> 'a -> unitval same_class : 'a t -> 'a t -> boolval union : 'a t -> 'a t -> unit