[Haskell] pattern matching accross instance declarations