refactor a function begun `if` into a pattern match function

`if`から始まる関数を、`if`の代わりにパターンマッチを使うようにするなどして簡潔にしました。

関数が`if`や`case`から始まる場合は、パターンマッチやガード節への置き換えができる場合が多いです。
あくまで私の意見ですが、それを行うとよりHaskellらしく且つ簡潔なコードになるように思います。