Haskellは定義を任意に並べ替えてもプログラムの意味が変わらないってことだろ