abstract class A{ abstract S foo(S x, S y); > void baz(A a){} void bar(A x, A y){ baz(foo(x, y)); } }