A Clojure implementation of the Union-Find data structure