Here CAS uses .-state property, thus binding itself to Atoms only:
We can replace it with -deref call instead, opening it up for alternative implementations:
thanks fixed https://github.com/clojure/clojurescript/commit/4ee89df427644c096d32117194ae1d76f8dec836