Old behavior:
cljs.user=> (defn f [x] (when (even? x) (inc x)))
#'cljs.user/f
cljs.user=> (let [x (f 2)] (if x (+ x "a")))
^
WARNING: cljs.core/+, all arguments must be numbers, got [#{number clj-nil} string] instead at line 1
"3a"
Note the mention of #{number clj-nil}
New behavior:
cljs.user=> (defn f [x] (when (even? x) (inc x)))
#'cljs.user/f
cljs.user=> (let [x (f 2)] (if x (+ x "a")))
WARNING: cljs.core/+, all arguments must be numbers, got [number string] instead at line 1 <cljs repl>
"3a"