Tipos de referencia no anulables
Estoy diseñando un lenguaje y me pregunto si es razonable hacer que los tipos de referencia no sean anulables de forma predeterminada, y use "?" para valores anulables y tipos de referencia. ¿Hay algún problema con esto? ¿Qué harías al respecto?
class Foo {
Bar? b;
Bar b2;
Foo() {
b.DoSomething(); //valid, but will cause exception
b2.DoSomething(); //?
}
}