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.