package c class C: T by { } class D: T by class G : T by { val c = 3 } interface I class A(a: T) : T by a