ref - ref-set using dosync (transaction)
atom - swap! (swap! atom fn val),  compare-and-set! (compare-and-set! oldval newval)