PythonとかだとreturnがないとNoneが戻り値となる(副作用に主眼がある関数であるという示唆になる)ので、副作用の有無とreturnの有無とに関わりを持たせるという感覚は必ずしも特異なものではないんじゃないかな。Rustではそういう意味論を採用していないというだけで。