address 0x1 { module Counter { struct S has key { f: u64 } fun increment1(i: &mut u64) { *i = *i + 1 } fun increment2(s: &mut S) { *&mut s.f = *&mut s.f + 1 } fun call_increment1(s: &mut S) { increment1(&mut s.f) } fun call_increment2(a: address) acquires S { increment2(borrow_global_mut(a)) } } }