Compression of clojure data using structural sharing