Module Union_Find_Lattice
module Classic : sig ... endClassic union-find lattice with no extensions (values or labels)
module DefaultConfig : sig ... endA default configuration that can be passed to the various union-find functors
module Labeled : sig ... endmodule LabeledValued : sig ... endLabeled union-find with values attached to each class.
module Parameters : sig ... endCommon module types for the various functors creating union-finds lattices.
module Polymorphic : sig ... endPolymorphic labeled union-find I.E. this is a variant of Labeled, where instead of having simple type node and relation, we use polymorphic type 'a node, ('a, 'b) relation. An ('a,'b) relation relates a 'a node and a 'b node.
module PolymorphicValued : sig ... endPolymorphic labeled union-find with values attached to each class. I.E. this is a variant of LabeledValued, where instead of having simple type node, relation, and value, we use polymorphic type 'a node, ('a, 'b) relation and 'b value.
module Sig : sig ... endThe common signatures of union-finds. Each implementation should have the same interface, among one of those below.
module Valued : sig ... endValued union-find: these attach an optional Sig.VALUE to each equivalence class, with values forming a lattice.