``` tag t { t0(r); } let i = @mutable 0; { let a <- t0(r(i)); } assert *i == 1; ``` This performs a copy of r(i). With other types, e.g. `{a: r(i)}` trans optimizes this to a move, so kind analysis allows it.