[Haskell-cafe] Inferred type not most general?