# local variables inherited from upper levels can be read with no
overhead; but if they are written, a transient local with the same
name is created...
# argument passing is thus by value, in common programming terms;
however, as in 3., the value is not really copied unless needed; for
reading only, passing is by reference. So to say, it is a "lazy"
passing by value, as copying the value is delayed to when really
needed in the progam flow.
#only for adequately written primitives and interfaces of primitives,
there is an option of by value/by reference (see intppty)