In fact, this problem is so severe (every proc returning a string is affected) 
I thought about more language support for it:

Every routine `foo(result: var T; args)` can be used as an expression of type 
`T` via the transformation into `(var res = default(T); foo(res, args); res)`

Reply via email to