When I load below haskell code file by ':l' command in GHCi.
add1 x y = x + y
add2 = \x -> \y -> x + y
Type of add1 and add2 is like below.
add1 :: Num a => a -> a -> a
add2 :: Integer -> Integer -> Integer
Why do they have different type???
UPDATE
When I input below codes in GHCi, they have same type 'Num a => a -> a -> a'.
let add1 x y = x + y
let add2 = \x -> \y -> x + y