class A { A> foo(){ return null; } void bar(A x){ baz(x.foo()); } void baz(A> x){} }