Personally I don’t consider safe navigation or elvis operator as replacement or regular if
, perhaps in this specific use case.
Generally I use run
and let
when I need to catch the result, ie:
val instanceState = savedInstanceState ?: run {
// compute new state here
}