The definition of Nullable
[SerializableAttribute]
public struct Nullable where T : struct, new()
The constraint
Because it's in the C# spec (section 4.4.4):
If the constraint is the value type constraint (struct), the type A must satisfy one of the following:
- A is a struct type or enum type, but not a nullable type. Note that System.ValueType and System.Enum are reference types that do not satisfy this constraint.
- A is a type parameter having the value type constraint (§10.1.5).