Given class delegation, what does `b.print()` output?
interface Base { val message: Int; fun print() = println(message) }
class BaseImpl(val x: Int) : Base { override val message = x }
class Derived(b: Base) : Base by b { override val message = 20 }
fun main() {
val b = Derived(BaseImpl(10))
b.print()
}