"char", "signed char", and "unsigned char" are distinct types. Define "boolean" to be whichever is not "int8" or "uint8".