1 private@ 2 3 class A = 4 def f : u32 5 6 class B = 7 def f : u32 8 9 type C = 10 def f : u32 = 8 11 12 is A 13 is B 14 15 do 16 let c = C.new 17 18 let f<T> (x : T) where T : A = 19 let r = x.f 20 assert r == 8 21 22 let g<T> (x : T) where T : B = 23 let r = x.f 24 assert r == 8 25 26 f c 27 g c 28