Em ghci, quando digito
:t (-)
para descobrir o tipo de (-), ele retorna
(-) :: Num a => a -> a -> a
No entanto, quando escrevo, -1haskell retorna um número, o que parece implicar que (-)é do tipo Num a => a -> a. Como (-)aparentemente pode ter dois tipos diferentes?