Hey,
While trying to wrap my head around how type inference works in haskell
I stumbled across the following inconsistency:
If I type
:t (*)
in ghci, I obtain
(*) :: Num a => a -> a -> a
But if I write
let mul = (*)
:t mul
I get the less generic type signature
mul :: Integer -> Integer -> Integer
How is this inconsistency explained? After all, I would expect the haskell compiler to deduce the most generic type possible.
Thanks in advance,
Stefan.