OCamlとStandard MLにおけるletのインデント

反応が良いので調子に乗って、どうでもよい話を続けてみる。OCamlでは

if shortexp1 then shortexp2 else
blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah

に比べても

let x = shortexp in
blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah

は遥かに広まっていると思われるが、Standard MLではletにendが必要なので、たとえば

let val x = shortexp in
  blah blah blah blah blah blah blah blah
  blah blah blah blah blah blah blah blah
end

のようになって、コードが右寄りになりやすい(複数の宣言は1つのletに連続して記述できるが)。SML/NJやMLtonのソースコードを読んでいると特によくわかる。LispないしSchemeも同じかもしれない(同じくlet*はあるが)。みんなどうしてるんだろう。10行以上になったら関数をわける?