The ref return statement could use any legitimate lvalue (including automatic variables of the property, if desired) but the routine would have to be written in such a way that execution could not escape the function except via an Exception, without performing exactly one ref return.