В Kotlin if возвращает значение; ternary ?: из Java не нужен — пишут val x = if (c) a else b.
Разбор
- Обе ветки должны быть совместимого типа.
when тоже expression.
- Способствует более функциональному стилю без временных var.
- Блоки
{ } тоже могут возвращать последнее выражение.
Итог
Expression-oriented стиль — норма для Kotlin.