1    private@
2    
3    do
4        let map = Map<i32, u32>.new
5        map.add 2 4
6            add 3 9
7            add 4 16
8    
9        assert map[2] == 4
10       assert not map.contains 5
11   
12       map[5] = 25
13       assert map.contains 5 && map[5] == 25
14   
15       map[5] = 26
16       assert map[5] == 26
17   
18       map.remove 5
19       assert not map.contains 5
20   
21       map.add 5 27
22       assert map.contains 5 && map[5] == 27
23   
24   type A = struct
25       x : i32
26   
27       def double_x @mut =
28           x *= 2
29   
30   do
31       let map = Map<i32, A>.new
32       let a1 = A x = 4
33       let a2 = A x = 9
34       map.add 2 a1
35           add 3 a2
36   
37       map[2].double_x
38       assert map[2].x == 8
39   
40       map[3].double_x
41       assert map[3].x == 18
42   
43   do
44       let sizes : Map = array@
45           "bool" => 4
46           "int" => 4
47           "uint" => 4
48           "float" => 4
49           "vec2" => 8
50           "ivec2" => 8
51           "uvec2" => 8
52           "vec3" => 12
53           "vec4" => 16
54