I love the idea of ref counting, but I'm unsure about the handling of memory cycles. In a plain ref counting implementation, these will not be cleaned up, resulting in a memory leak.
I didn't find anything on cycles in the linked page, maybe the problem is not relevant in most real-world clojure code?