1 2 3 4 5 6 7 8 9 10
type Foo[T] = object x:T Bar[T,R] = Foo[T] Baz = Bar[int,float] proc qux[T,R](x: Bar[T,R]) = discard var b:Baz b.qux()