But then code that we used to accept: i8 := 0xFF would not be valid anymore. We chose to rely on the actual bit representation of the integer rather than on its value. I'm not sure it makes that much sense to have -0xFF has a constant value, it is simply the prefix "-" applied to a value of 0xFF. which is different. I guess we have to review ECMA to be more compliant with what we do since I believe it makes more sense.