fun outer() { fun inner(i: Int) { if (i > 0){ { (it: Int) -> inner(0) // <- invocation of literal itself is generated instead }.invoke(1) } } inner(1) } fun box(): String { outer() return "OK" }