class A(val x: (String.() -> Unit)?) fun test(a: A) { if (a.x != null) { "".(a.x)() a.x("") // todo (a.x)("") } "".(a.x)() a.x("") (a.x)("") with("") { a.x() (a.x)() if (a.x != null) { a.x() // todo (a.x)() } } }