Cómo maneja Haskell la sobrecarga del polimorfismo?

Tengo una pregunta sobre el polimorfismo de Haskell.

Como he aprendido, hay dos tipos de polimorfismo:

Paramétric: donde no especifica el tipo de entrada.

Ejemplo

functionName :: [a] -> a

Sobrecarga: como programación imperativa, es decir, pasar diferentes argumentos a la misma función.

Mi problema es: ¿cómo maneja Haskell sobrecarga?

Respuestas a la pregunta(6)

Su respuesta a la pregunta