1    private@
2    
3    let f<T, U> @decl (x : T) (y : U) : i32 where T : Integer
4                                                  U : Float
5    
6    type A<K, L> where K : Integer
7                       L : Float =
8        let u : K
9        let v : L
10       val r = f u v
11   
12   let f @impl (x : u32) (y : f32) = x as i32 + y as i32
13   
14   do
15       let a = A<u32, f32> 1 1
16       assert a.r == 2
17