Why the line below compile ? For me, `Nullable<double>` is a struct and we can't assign a variable of this type the value "null".

```
        Nullable<double> someVar = null;

```

The assignation operator is not supposed to be overridable but maybe it is some syntax sugar and the compiler knows it has to change it to ?

```
        Nullable<double> someVar = new Nullable<double>();
        someVar.Value = null;

```