open data class A(val x: Int, val y: String) class B : A(42, "OK") { override fun component1(): Int = 21 override fun component2(): Int = 21 } fun foo(b: B) { b.component1() b.component2() }