~A~class A { ~foo~fun foo() = A() } class B { val a: Int by `A`A().`foo`foo() val b: Int by `A`A() }