数; 等等)。通过表达式的最终简约到隐含类型原子值的识别，类型推论语言的编译器有能力编译完全没有类型标注的程序。在高阶编程和多态性的高度复杂的情况下，编译器不能总是如此推论，偶尔需要类型标注来去除歧义。
例子.例如，考虑Haskell函数 codice_15，它把一个函数应用于一个列表的每个元素上，它可定义为:明显的函数 codice_15 接受一个列表作为第二个实际参数，它的第一个实际参数 codice_17 是可以应用于这个列表的元素的类型上函数，而 codice_15