fun J.test0(a: Runnable) { runStatic(r = a) .runIt(r = a) } fun test1() { runStatic(r = local fun () { test1() } /*-> @FlexibleNullability Runnable? */) } fun J.test2() { .runIt(r = local fun () { test1() } /*-> @FlexibleNullability Runnable? */) } fun J.test3(a: Function0) { .run2(r1 = a /*-> @FlexibleNullability Runnable? */, r2 = a /*-> @FlexibleNullability Runnable? */) } fun J.test4(a: Function0, b: Function0, flag: Boolean) { .runIt(r = when { flag -> a else -> b } /*-> @FlexibleNullability Runnable? */) }