Coercion and Contagion
Coercion: Any automatic type conversion.
A value of type A is being assigned to a variable of type B.
The value is coerced into one of type B.
Values of lower precision “catch” the precision of their higher precision co-arguments.
int y = 10 * (3.1415 / 10); /* result is 3, not 0. */
In Common Lisp, when a rational meets a float, the rule of floating-point contagion rules.