I always considered that a good thing, but C gets it wrong too - to me, TRUE should be -1 which is really 0xFFFFFFFF and FALSE is NOT TRUE, which is "turn off all bits in TRUE", which is 0x00000000. I don't understand why this was never standardized. This way there is ONLY one value of both TRUE and FALSE, so you can say NOT TRUE as well as NOT FALSE unambiguously. I always hated the Boolean type but the C way is just as bad.
Note that in an untyped language it makes more sense to have TRUE and FALSE as 1 and 0.