interface Fun1<A,B>{ A apply(B p); } class TestFun1<A>{ A apply(A a){return a;} }