enum class Test {
    A, B, OTHER
}

fun peek() = Test.A

fun box(): String {
    val x = when (val t1 = peek()) {
        Test.A -> {
            when (
                val t2 = when(val y = peek()) {
                    Test.A -> Test.A
                    Test.B -> Test.B
                    else -> Test.OTHER
                }
            ) {
                Test.A ->
                    when (val t3 = peek()) {
                        Test.A -> "OK"
                        else -> "other 3"
                    }

                else -> "other 2"
            }
        }

        else -> "other 1"
    }
    return x
}
