La transformación de una función a un estilo sin puntos cambia su tipo

Estoy comenzando a Haskell ... Traté de escribir la siguiente función trivial de dos maneras diferentes, dejando que Haskell decida los tipos, y el sistema de tipos hace algo diferente en cada caso. ¿Cuál es la explicación de ese comportamiento?

Prelude> let f x = 2 * x
Prelude> let g = (2*)
Prelude> :info f
f :: Num a => a -> a    -- Defined at <interactive>:1:5
Prelude> :info g
g :: Integer -> Integer     -- Defined at <interactive>:1:5

¡Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta