What does the direct call do differently from the safe call?
kotlin
fun String?.orLabel(): String = this ?: "missing"
fun main() {
val label: String? = null
println(label.orLabel())
println(label?.orLabel())
}
fun String?.orLabel(): String = this ?: "missing"
fun main() {
val label: String? = null
println(label.orLabel())
println(label?.orLabel())
}