class A<a> { }

class B<a> extends A<a> {
	f(x) {
	   a;
	   b;
	   if (x) {
	       return a; }
	   else { 
	       return b; }
	}
}

class C<a> extends B<A<a>> {}