これってたぶん「関数呼出を見たときそれが throwable であることを知っている」という前提で「rethrow 以外のアクションとは」という見方になると思うけど、どちらかというと私の視点では「そもそも関数呼出が失敗しうるかどうかなんてワイは知らんねん」という気持ちがあるので、 fallible function call には旗が立っていてくれというお気持ちでの「デフォルトモードなし」派
じゃあ async はどうやねんと言われると、これは言い訳のしようもなくデフォルトが Future なのはかなり微妙 (まあ歴史的経緯なわけだが)
impl Future が欲しい場面というのは実際あるのでその点では Future になる機能要らんだろとは言えないけど、まあ foo().await と foo().future みたいな感じでもよかったかもしれないねという気はする。
……でもこの場合 foo() のセマンティクスはどうなるんだろう、 foo() 単体では式でないということになる? それはそれでキモいな