Systems and methods that enhance a programming language by introducing
null unification on a type level in addition to a value level, for static
types of both reference and value types T. An operator that adds a level
of nullability (and removes such nullability) is introduced without a
mention of the actual type, to steer overloading in a precise manner.