Recipe: Implementing custom data structures: Red Black Trees - Parts I & II

Part I addresses the main balancing algorithm in a purely functional Red Black Tree.

Part II discusses making it participate in Clojure's sequence abstraction