I'm actually in team no-ternary operator in Kotlin, simply because there shouldn't be two ways of doing the same thing.
Maybe the problem is a linter issue:
for me the main point of the ternary operator to have a very concise expression, a one-liner. But maybe our linters warn when a) we use if-else without braces and b) we put everything on the same line!??
Btw there is already another way to write the ternary operator in Kotlin (assuming the positive-case value of expression X is non-nullable):
"C ? X : Y" -> "X.takeIf { C } ?: Y" https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/take-if... Though I admit, I've never used this version either.