下の感じのコードを書いたら、
do let ...
if ... then
...
else
...
インデント間違えてへんか?みたいなエラーが出まして、どうも、elseは ifよりも下げないといけないようだ、Haskell的には。
なんでifとelse揃えたらあかんのやー
WikiBookのdo within ifってところに書いてあった。doのなかでインデント揃えちゃうと;が入ってるものとみなされるから
do { first thing
; if condition
; then foo
; else bar
; third thing }
と解釈されてしまうらしい。