An experiment in implementing examples and exercises from Chris Okasaki's Purely Functional Data Structures in pure Clojure.
Although I mostly stick to function names selected in the book,
sometimes I modify them to follow Clojure naming conventions
(for example using empty?
over isEmpty
.)