>>444,446,447,448
型が一致してないからや。
if式のelse句省略して戻り値の型にunitが推論されるのに
thenの方の戻り値の型がunit以外になるからエラーになる。

たぶん、rustc --explain 0317すればクソ丁寧に教えてくれる