[Haskell-beginners] Non-exhaustive patterns in function error