Clojure in Action chapter 3, Algorithms union find