so silly, forgot that integer-like literals also become floating-point numbers in JS, meaning that they can also overflow