We should be able to get a warning like
cljs.user=> (+ nil 1)
WARNING: cljs.core/+, all arguments must be numbers, got [clj-nil number] instead at line 1 <cljs repl>
1
We'd first need to fix CLJS-3085.
But with that, it seems as simple as having {{cljs.analyzer/numeric-type?}} return {{false}} instead of {{true}} for {{'clj-nil}} by deleting the {{cond}} branch for it.