// FIR_IDENTICAL interface Controller { fun yield(t: F) } fun generate(g: suspend Controller.() -> Unit): S = TODO() fun foo(b: Boolean, buffer: Collection) { generate { if (b) { val x: String = myLaunch { myRun { yield(buffer.toTypedArray2()) } } } }.get(0).length } fun Collection.toTypedArray2(): Array = TODO() fun myLaunch( block: () -> Unit ): String = TODO() fun myRun(action: () -> Unit): Unit = TODO()