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