Почему эта функция возвращает (собственное) значение?

код из:Джинн, как повторить строку N раз как строковый массивДжинн, как повторить строку N раз как строковый массив

def repeatwithsep (e: string, n: int, separator: string): string
    var elen = e.length;
    var slen = separator.length;
    var a = new StringBuilder.sized ((elen * n) + (slen * (n - 1)) + 1);
    for var i = 0 to (n - 1)
        if i != 0
            a.append_len (separator, slen)
        a.append_len (e, elen)
    return (owned) a.str

вар а является локальной переменной, когдаa выходит за рамки, он будет уничтожен. почему эта функция

возврат (в собственность) a.str

в чем разница между

вернуть a.str

возврат (в собственность) a.str

какая выгода (принадлежит)

Ответы на вопрос(1)

Ваш ответ на вопрос