、逆变而非不变的，可以让更多的程式俱备良好的型别。另一方面，程式员经常觉得逆变是不直观的；如果为了避免执行时期错误而精确追踪变型，可能导致复杂的型别规则。为了保持型别系统简单同时允许有用的编程，一个程式语言可能把型别构造器视为不变的，即使它被视为可变也是安全的；或是把型别构造器视为协变的，即使这样可能会违反型别安全。
形式定义.在一门程式设计语言的型别系统中，一个型别规则或者型别构造器是： 下文中将叙述这些概念如何适用于常见的型别构造器。
数组.首先