1    private@
2    
3    type A =
4        val u : u32
5        var v : u32 = 3
6    
7        def double_v =
8            v *= 2
9    
10   do
11       let a = A 5
12                 v = 8
13                 run@ double_v
14   
15       assert a.v == 16
16   
17   do
18       let a = A 5
19                 v = 8
20                 run@ { a -> a.v += 7 }
21   
22       assert a.v == 15
23   
24   do
25       let f () = A 5
26                    v = 9
27   
28       let a = f
29           run@ double_v
30   
31       assert a.v == 18
32