UnionFind.MakeBuild a union-find module from a key/value specification
type key = P.keyElements that can be compared
type value = P.valueValues associated with elements
Create a union-find for the given elements. Elements are mapped to zero by default.
Find value for the given element. The value is the monoid merge of all values associated to key's equivalence class.
Add the given value to the key's class (monoid). It modifies the value by merging it with value. If the key does not belong to the union-find, it is added.