This may be a silly question, but in the OderWat example above, on the two proc calls for type Foo (x), should x.v be updated in outer scope? i.e First echo shows (v: 5, s: Test), second echo shows (v: 5, s: Test) - on my system.
Should the second call not then echo (v: 6, s: Test) considering x passed in as 'var' ?