interface IA { IA foo(); } class A { void baz(IA x) { bar(x.foo()); } void bar(IA a) { } }