The latest Clojure v.1.1 has implemented the same idea, they are named
"Chunked Sequences":
http://www.infoq.com/news/2009/12/clojure-11-rc1-transients
See:
http://clojure.googlegroups.com/web/chunks.pdf
(I know they can have some problematic corner cases.)
Bye and be well,
bearophile