Right now, the TBOOLEAN class looks like a normal logical type, but it works in a different way:
- Both 
TTRUE and TFALSE are treated as TRUE in logical expressions. This is not what most people expect. 
- The name 
TBOOLEAN sounds like a regular logical type, but it is not. 
Suggestion:
Maybe use a different name for the class, like STATE or TRISTATE, or something similar. Also, the literals could have more clear names, like YES/NO/NULL for example.
Or, if the names stay the same, we should explain clearly in the documentation that this class is not a logical type.