Guard a nullable input before treating it as required.

Require Not Null

RequireNotNull.kt
fun describe(input: String?): String {
    if (input == null) {
        return "missing"
    }

    val required = requireNotNull(input)
    return "required:${required.length}"
}

fun main() {
    val input: String? = 
    val result = describe(input)

    println("input=${input ?: "none"}")
    println("result=$result")
}
fun describe(input: String?): String {
    if (input == null) {
        return "missing"
    }

    val required = requireNotNull(input)
    return "required:${required.length}"
}

fun main() {
    val input: String? = 
    val result = describe(input)

    println("input=${input ?: "none"}")
    println("result=$result")
}
fun describe(input: String?): String {
    if (input == null) {
        return "missing"
    }

    val required = requireNotNull(input)
    return "required:${required.length}"
}

fun main() {
    val input: String? = 
    val result = describe(input)

    println("input=${input ?: "none"}")
    println("result=$result")
}
require `requireNotNull` is useful after code has decided that a missing value is invalid.