Nullable types are types which can have no value (can be unassigned).
One such type in Pascal is Pointer type which can have
nil value which means that it isn't assigned to any specific address.
Same behavior can be implemented using generic types and advanced records with operator overloading.
The Nullable unit is part of FPC since 3.2.2 and its code can be seen in the GitLab repository: nullable.pp.
Then you can define nullable types like:
NullableChar = TNullable<Char>; NullableInteger = TNullable<Integer>; NullableString = TNullable<string>;
The standard nullable type in Object Pascal is Variant.