A persistent union-find data structure
Purely Functional Data Structures