kotlin小ネタ:elvis operator から return する際ににまとまった処理を書きたい場合

// elvis operator, return, closure の実行値, という組み合わせ。
// この例では return で f2() の値が返る。
val value = next() ?: return run { f1(); f2() }

// これでも大丈夫。
val value = next() ?: return { f1(); f2() }()