1    private@
2    
3    type F = flags
4        | 1
5        | 2
6        | 4
7        | 8
8    
9    do
10       let u = F/1
11       let v = F/4
12   
13       let u_or_v = u | v
14       let u_and_v = u & v
15   
16       assert u <> v
17       assert u_or_v.contains F/1
18       assert not u_or_v.contains F/2
19       assert u_and_v == F@zero
20