interface I { fun > f(t: List): Any// T = D, List == List } abstract class Base { fun > f(t: List) {} } class C : Base(), I fun f(list: List) { C().f(list) }