Short cut fusion
From HaskellWiki
Short cut fusion is an optimizer method that merges some function calls into one.
E.g.map f . map g
map (f . g)
filter p . filter q
filter (\x -> q x && p x)
It can also help to remove intermediate data structures.
E.g. computingsum [1..n]
See also correctness of short cut fusion.
