[Haskell-beginners] pattern matching on function names or algebraic type data constructors