''Excerpted from http://c2.com/ppr/checks.html#2 ...''
---------
A business model will normally be composed of a basic case or abstraction that is specialized
and/or refined to capture the diversity present in the business. However, there will often be
circumstances where the inclusion of all business possibilities in the class hierarchy would be
confusing, difficult or otherwise inappropriate.
'''Therefore:'''
Use one or more distinguished values to represent the exceptional circumstances. Exceptional
values should either accept all messages, answering most with another exceptional value, or
reject all messages (via does-not-understand) with the possible exception of identifying
protocol like isNil or printOn:.
---------------
See also NullObject and BottomPropagation.
This conflicts with the SamuraiPrinciple.