I am not saying nullable types are bad.  It just that when looking at booleans, the nulled value should or rather be required to be able to be assumed one or the other safely, otherwise it isn't really a boolean value.In the case of the gender, you can use just two values, but you actually have three which is undertermined, once you go beyond two you really don't have a boolean value.In the case of age, you can make a non assumption when you have a null and that is to not display any value.  Ages are different from either an enum or a boolean.The OP linked to an article talking about booleans and when you think of it in this fashion then nullables that can not be assumed either true or false are no longer booleans but rather an enum.  To put it in perspective, when you have three possible values how do you do this:if (!Value)Booleans by definition require them to be bi-state and only bi-state, anything else is a three value enumerator. If you have a null value you need to safely assume one of the two states like I mentioned before.  Even in this case you can use nullable values but in working with the data you assume one or the other.  Like a Validated field, it is boolean, but if it is Null you assume false.  Any other usage of a boolean is wrong, it is basic computing theory.