nullチェックしてない。nullthread?.start()nullの代替値nullじゃなかったら設定、のような場合エルビス演算子?:を使って完結にできます。エルビス演算子おまけ。return非null表明null-typeをnon-null-typeに強制変換しますが使わないほうがいいかも。NullPointerExcelptionどうしてもな場合はrequireNotNull関数でメッセージを残すらしいです。tailrecで修飾すると再帰が最適化されます。function関数内関数です。スコープがその関数内に限定されます。Flowififは式で値を返します。三項演算子はありません。