The following code does compile, and should compile:
o1 : {foo: var int} = {foo: var 0}
o2 : {foo: int} = o1
o1.foo = 1
o2.foo // 1
However, it's still dangerous. The type checker should issue a warning in this type of scenario.
Similar for arrays or other sequence types.