The BasicProperty/BasicTypes system provides a mechanism for intelligent
property-based modeling of problem domains in Python 2.2+. The idea behind
property-based domain modeling is to simplify the definition of objects/data
structures so that concerns such as initialization, data-type checking and
coercion, run-time introspection, and domain specific storage/retrieval
operations can be abstracted out from the modeling operations.