Fonte: Capítulo 3: Types and classes, do livro Programming in Haskell (Graham Hutton)
Sistemas de tipos e tipos de dados básicos
Tipo Lista e Tupla
Tipo função e polimorfismo
Classes de tipos