This ClojureScript change

https://github.com/clojure/clojurescript/commit/bcf60ce194e5292fbc5c4b2d89dfc5a7b886b94c

tracked this Clojure change

https://github.com/clojure/clojure/commit/20f67081b7654e44e960defb1e4e491c3a0c2c8b

A consequence is that {{int?}} is satisfied by {{goog.math.Integer}} which is not fixed-precision.

Also, it creates a situation where it is possible to have values that satisfy {{int?}} but don't satisfy {{integer?}} or {{number?}}. (Note that this also affects things like {{pos-int?}}.)

I'd propose two alternative approaches to fix this that we can debate:

Alternative A: Simply remove the {{goog.math}} items from {{int?}} and friends.

Alternative B: Have {{goog.math.Long}} values satisfy {{number?}}, {{integer?}}, and {{int?}} and have {{goog.math.Integer}} values satisfy {{number?}} and {{integer?}}.

In either case, the docstrings should be updated.

I'll attached two concrete patches for consideration / debate.

https://github.com/clojure/clojurescript/commit/bcf60ce194e5292fbc5c4b2d89dfc5a7b886b94c

tracked this Clojure change

https://github.com/clojure/clojure/commit/20f67081b7654e44e960defb1e4e491c3a0c2c8b

A consequence is that {{int?}} is satisfied by {{goog.math.Integer}} which is not fixed-precision.

Also, it creates a situation where it is possible to have values that satisfy {{int?}} but don't satisfy {{integer?}} or {{number?}}. (Note that this also affects things like {{pos-int?}}.)

I'd propose two alternative approaches to fix this that we can debate:

Alternative A: Simply remove the {{goog.math}} items from {{int?}} and friends.

Alternative B: Have {{goog.math.Long}} values satisfy {{number?}}, {{integer?}}, and {{int?}} and have {{goog.math.Integer}} values satisfy {{number?}} and {{integer?}}.

In either case, the docstrings should be updated.

I'll attached two concrete patches for consideration / debate.