Si una función f tiene tipo f :: a -> b
y la aplicamos a una expresión e de tipo e :: a
entonces el resultado de la aplicación queda de tipo (f e) :: b
Lo mismo pasa con (dup dup), su tipo es el tipo de lo que retorna el dup de la izquierda.
Si una función f tiene tipo f :: a -> b
y la aplicamos a una expresión e de tipo e :: a
entonces el resultado de la aplicación queda de tipo (f e) :: b
Lo mismo pasa con (dup dup), su tipo es el tipo de lo que retorna el dup de la izquierda.