A reduction in generality, usually for the sake of increased
efficiency. If a piece of code is specialised for certain
values of certain variables (usually function arguments), this
specialised to a non-overloaded instance at compile-time if
the types of its arguments are known.