data class A(val x: String, val y: String)

fun foo(a: A, block: (Int, A, String) -> String): String = block(1, a, "#")

fun box(): String {
    val x = foo(A("O", "K")) { i, (x, y), v -> i.toString() + x + y + v }

    if (x != "1OK#") return "fail 1: $x"

    return "OK"
}
