returnはリターンしない

他の言語のノリで使うと間違えるreturn。
構文じゃなくて単なるモナドで包む関数なので、関数の途中でreturnしてもその時点で関数を抜けたりしないし、(return a)と(return b)を引数にして計算したり他の関数を呼び出したりもできる。

もしかして<-も構文じゃなくて式だったりするのかな?
と思ってx <- yを(<-) x y に書き換えたらぱーさえらー。