In the following code
Note that the first argument to recur is s2, changing the target object when recurring.
In Clojure, this is allowed and the last form yields :hello.
In ClojureScript, the use of this-as in the implementation defeats this.
Note that, for deftype, defrecord, and reify, the use of this-as is currently needed because we pass in a dummy nil as the target object https://github.com/clojure/clojurescript/blob/69342169ba868574aa7f5a88669e6333ccc3df01/src/main/clojure/cljs/analyzer.cljc#L1818