der Compiler kann Programme umformen, damit Objekte, die gleich wieder konsumiert werden, gar nicht erst erzeugt werden, z. B.
map f . map g = map (f . g)Umformungen (refactoring) leicht möglich, da keine Nebenwirkungen zu berücksichtigen.
Dabei ist (.)
die Funktionskomposition
(.) :: ... (f . g) x = f (g (x))(und zwar falschherum, würde jeder Algebraiker sagen)