Clojure folks here, you might enjoy this blog post I wrote here on Finger Trees: https://abhiroop.github.io/Finger-Trees/ Although written in Haskell, but should be very easy to follow. In case you are not aware @chouser wrote an implementation of the same in Clojure.