A C++ implementation of a immutable vector following Rich Hickey's clojure implementation