Now this: class C { val x = something val y by x::property } is *exactly* the same as this: class C { val x = something val y get() = x.property } (plus a `getY$delegate` method)