Unfortunately, it will be compiled to invocation of function class with empty implementation. We are planning to implement function inlining later, which will compile your code in more effective way.
Function type surely can be nullable, here is an example:
Forgive me if there is an obvious answer, but has the situation on this changed? Can we pass optional lambda parameters like we can with param: String?? Kotlin syntax is usually beautiful; fun foo(() -> Unit = {}) isn’t the best.