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