One could define things that way, but it serves very little purpose. Typically, the goal of a test
o is T
is to be allow one to use o as a T by invoking a method on it. If you make this answer true for null, you need to test for null separately, which is painful and error prone. On the other hand, we do allow assignment, because of the general need for placeholder when a useful value is unknown.