For #1732: use _.isNumber() and fix decrement to NaN

- values can now only be `undefined` or a number, no longer `null`
- don’t decrement if not a number
- comments