Apparently there are options T property(T)(scope T a); will check that the value can be retained from the property for local use T property(T)(T a); will check that the value can be returned from function (not scoped)