// WITH_STDLIB interface Visitor { fun visit(key: String): T } val str1: String? = null val str2: String? = null fun visit(arg: Visitor): T = str1?.let { return@visit arg.visit(it) } ?: str2?.let { return@visit arg.visit(it) } ?: error("error")