(Or "coercion") The abilty of some compilers to automatically insert type conversion functions where an expression of one type is used in a context where another type is expected. A common example is coercion of integers to reals so that an expression like sin(1) is compiled as sin(integerToReal(1)) where sin is of type Real -> Real. A coercion is usually performed automatically by the compiler whereas a cast is an explicit type conversion inserted by the programmer. See also subtype.