1    private@
2    
3    type A =
4        let s : String
5    
6    type B =
7        let a : A @auto
8    
9    type C =
10       let n : u32 @param = 5
11       let a : A @auto
12   
13   let a @publish = A "a"
14   
15   do
16       let f () =
17           let b = B.new
18           assert b.a.s == "a"
19   
20       f
21   
22   do
23       let f () =
24           let c = C.new
25           assert c.n == 5 && c.a.s == "a"
26   
27       let g () =
28           let c = C n = 7
29           assert c.n == 7 && c.a.s == "a"
30   
31       f
32       g
33