specialisation
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
is known as "{partial evaluation}". In a language with
{overloading} (e.g. {Haskell}), an overloaded function might be
specialised to a non-overloaded instance at compile-time if
the types of its arguments are known.