Fun with Clojure Ref transactions