data class A(val x: T, val y: F) fun foo(a: A, block: (A) -> String) = block(a) fun box(): String { val x = foo(A("OK", 1)) { (x, y) -> x + (y.toString()) } if (x != "OK1") return "fail1: $x" return "OK" }