class C <A> { public static void foo<B> (C<B> x) { D.append (x); } } class D { public static void append<A> (C<A> x) { } public static void Main () { C<object>.foo<int> (null); } }