> The other point is, that you said that for references we do not need the var > keyword when passing data to procs -- we can modify the fields of object > passed as references always. Well, beginners may be confused: Is the most > significant advantage of references that we don't have to type that var > keyword in the procedure signature? So why not always us references as done > in Java and Python, so that we never would have to use a var parameter.
That's a good question that always bother me. The only justification I found for keeping `var` parameters is that you can't call the proc that defines them with `nil` or constant values. So you provide a stricter API contract than declaring them with `ref`.