[Haskell-cafe] Unable to correctly infer function type, via pattern matching?