union -base +package

The Union/Find algorithm implements these operations in (effectively) constant-time:
* Check whether two elements are in the same equivalence class.
* Create a union of two equivalence classes.
* Look up the descriptor of the equivalence class.
Version 0.2

ST based implementation of Tarjan's disjoint set forests, using mutable arrays storing indices instead of references internally. There is also a pure, immutable version of the data structure, which is useful for querying the result of a union find construction.
Version 0.1