VRP is only useful when doing this:short s = 1000; // 1000 is int, but it's safe to put it into a short
Integers are not booleans. I agree with the others that bool being treated as an int is an implementation detail derived from C.
Or are you just bored for doing: if( x == 0 ) instead of if( x ) ?