Whenever I call PropertyInfo.GetValue on a Nullable property, I obtain the nullable struct's actual value, not the struct itself. Why is it? Is it baked into the language and only available to the Nullable type or custom classes can have the same thing with other types.