You might say "Wait! All JavaScript numbers are floats!" They certainly always behave like they are on the outside, but on the inside they treat some numbers as integers.
(defparameter *y* (float x))
y = x + .0
While + .0 makes no difference inside the language, it will flag it as a fractional number in the C runtime