In ghci, quando scrivo
:t (-)
per capire il tipo di (-), ritorna
(-) :: Num a => a -> a -> a
Tuttavia, quando scrivo -1haskell restituisce un numero, il che sembra implicare che (-)sia di tipo Num a => a -> a. Come possono (-)apparentemente avere due tipi diversi?