Thanks! The second parameter is (desc: PropertyMetadata, oldValue: T, newValue: T) -> Unit. So I figured that it shouldn't even compile because it returns a lambda expression instead of Unit?
Actually, the type of outer lambda is (PropertyMetadata, String, String) -> Unit (because observable expects function returning Unit). So the dummy lambda is created, but not used anyhow. Usually there should be warning that lambda is not used, but now it's not shown here, and it's a bug: KT-5549