The beautiful journey seems to end there.
https://www.npmjs.com/package/is-number
isNumber(x) && isString(x)
Also, I don’t know JavaScript well enough, but https://www.npmjs.com/package/isnumber is different code from https://www.npmjs.com/package/is-number, but does it have different semantics?
(https://www.npmjs.com/package/lodash.isnumber is different, I think. It (rightfully, IMHO) thinks ∞ and NaN are numbers)
The beautiful journey seems to end there.
https://www.npmjs.com/package/is-number