In this inline function, which lambda(s) may legally perform a non-local `return` that exits `caller`?
inline fun f(
a: () -> Unit,
noinline b: () -> Unit,
crossinline c: () -> Unit
) {
a(); b(); c()
}
fun caller() {
f(
a = { return }, // 1
b = { return }, // 2
c = { return } // 3
)
}