On the master branch (and in all previous versions of ClojureScript I've seen), the version of `set` and `vec` in core.cljs do not do an instance check before creating a new set or vector. That is, `set` does not check (as in the Clojure 1.8 version) whether the input is already a set before creating a brand-new one, and `vec` does not check (as in the Clojure 1.8 version) whether the input is already a vector before creating a brand-new one. In addition, `set` appears not to support reducibles (`vec` does not share this defect).
The enhancement is short and simple: the addition of one `instance?` check per function.
Relates to, but does not duplicate, CLJS-1784.