interface Fun1<A,B>{
A apply(B p);
}

class TestFun1<A>{
	A apply(A a){return a;}
}