// FIR_IDENTICAL class Controller { fun yield(t: T): Boolean = true } fun generate(g: suspend Controller.() -> Unit): S = TODO() class Out fun catching(body: suspend () -> T1): Out = TODO() fun Out.getOrElse2(onFailure: () -> R2): R2 = TODO() fun myEmptyList(): List = TODO() fun main(x: List) { generate { val languages = catching { x }.getOrElse2 { myEmptyList() } yield(languages[0].length) } }