abstract class X { fun foo1(t: T): T = t fun foo2(t: T) {} fun foo3() {} } class Y : X {}