Polimorfismo
No universo digitado há quatro universos sem tipos: cadeias de bits na memória ,S-expressions in pure Lisp, l-expressions in the l-calculus e teoria dos conjuntos, sendo que o mais concreto deles é o universo de bits na memória do computador. Para trabalhar com o universo sem tipos tem que organizá-los de diversas maneiras para finalidades diferentes. Os tipos surgem informalmente em qualquer domínio para categorizar objetos de acordo com a sua utilização e comportamento, eles decompõem naturalmente em subconjuntos com comportamento uniforme, seu principal objetivo é evitar perguntas embaraçosas sobre representações, e proibir situações em que essas questões possam surgir. Os tipos tem a finalidade de proteger um sem tipo subjacente do uso arbitrário ou não intencional, para que o mesmo não seja violado, então impõem uma estrutura do tipo estático nos programas. As línguas em que todas as expressões são do tipo consistente são chamadas de linguagens fortemente tipadas, onde permite inconsistências do tipo a ser descoberto em tempo de compilação e garante que programas executados são de tipo consistente, facilita a detecção precoce de erros de tipo e permite uma maior de tempo de execução de eficiência, porém pode também conduzir a uma perda de flexibilidade e forte restrição ao comportamento de objetos a que se relaciona com um tipo específico. Convencionais linguagem como Pascal, tem um tipo único, que são consideradas monomórficos, que podem ser contrastadas com as línguas polimórficas, línguas com valores de mais de um tipo. Existem dois tipos principais de polimorfismo : polimorfismo paramétrico ou universal é obtido quando uma função funciona de maneira uniforme em uma variedade de tipos com uma estrutura comum e o Ad-hoc polimorfismo que é obtido quando uma função em vários tipos diferentes (que não pode apresentar uma estrutura comum) e podem comportar-se de maneira independente