Port this change from Clojure master to ClojureScript: https://github.com/clojure/clojure/commit/d29219f78e51da66daf1c66108ebebb97c68442f
For Vars, there is a var? predicate, and given a Var v, it is possible to obtain its symbol by using (.-sym v).
Likewise, for keywords, there is a keyword? predicate, and given a Keyword k, it is possible to form a symbol using (symbol (.-fqn k)).
v3 with docstring
v4 now with COMMITED docstrings
Enzzo, also, if you look at the v4 patch, it appears the commit title was lost relative to the original CLJS-2958.patch, which had: