I have noticed that I am using
functionName = case _ of SomeConstructor _ -> something SomeOtherConstructor _ _ -> somethingElse
far more than
functionName (SomeConstructor _) = something functionName (SomeOtherConstructor _ _) = somethingElse
because it saves a lot of line space and no parentheses mucking things up.
However this seems to be defeating the point of how function pattern matching was supposed to be. I am sure that a lot of thought has gone into this but I still find it a bit annoying.
It seems like with function pattern matching with a single input it would be possible to
functionName SomeConstructor _ = something SomeOtherConstructor _ _ = somethingElse
Any thoughts on this?