Why does the when below compile WITHOUT an else branch?
sealed class Result
class Success(val data: String) : Result()
class Failure(val error: String) : Result()
fun handle(r: Result): String = when (r) {
is Success -> r.data
is Failure -> r.error
}