Modular Pattern Matching Haskell