Add class method then subclass can specify which property is optional. T...

...his can be used on struct and primitive property.