1. A computer-implemented system that facilitates null-support in programming languages, comprising: a computer processor for executing the following software components, at least one type associated with at least one programming language; and a type modifier to signal that the type is nullable, the type modifier enables a multi-element structure to be created in association with the type, the multi-element structure includes an original value, and a Boolean element for whether or not a variable is null, wherein the nullable type is associated with a nested type to construct a nested nullable type, and the nested nullable type is associated with a constraint for limiting operations of types, the constraint is associated with throwing an error in a static constructor of a nullable type <T> when T is nullable, and wherein the nested nullable type is associated with an arbitrary constraint for limiting operations of types; wherein the constraint is associated with performing a check in a constructor of a nullable type and propagating an underlying null, and inserting a unification code at points in a program where nested nullable values are constructed; wherein the type modifier creates a structure that combines a value of an underlying type with a Boolean null indicator, and wherein the nullable type is associated with an operator and is a nullable Boolean type that represents three values, true, false and null, such that the nullable Boolean type produces the three-valued type used for Boolean expressions in Structured Query Language (SQL).