Clojure Data Structures and Algorithms Cookbook