Variations of this problem might exist for any type, but it is
particularly bad with booleans:
http://en.wikipedia.org/wiki/Null_(SQL)#Boolean_datatype_inconsistency
Gavin King escribió:
You can make the exact same argument about *any* type. The point of
*any* type is to restrict the possible set of values.
Unfortunately, prohibiting null everywhere turns out to be a major
PITA in practice.
I do not want to prohibit it, it is fine for MailComponent.getBoolean,
and JSF.getBooleanValue, but I don't like it Image.isRatio or
IsUserInRole.isUserInRole because in those cases I feel it makes the API
confusing.