Este documento habla sobre la comprobación de tipos en los lenguajes de programación. Explica que la comprobación de tipos se puede realizar de forma estática o dinámica, y ofrece ejemplos como la incompatibilidad de operadores y la unicidad de variables. También define conceptos como los sistemas de tipos, los tipos básicos y construidos, y los constructores de tipos como matrices, productos cartesianos, registros y apuntadores.