STM example in clojure.