[1] - https://ghc.haskell.org/trac/ghc/ticket/915 [2] - http://hackage.haskell.org/package/stream-fusion
http://hackage.haskell.org/package/vector-0.9.1/docs/Data-Ve...
Except it's bloody everywhere in the libraries you use and you can design your own libraries around it.
A language powerful enough that things like this can be done in libraries instead of in the compiler is a good thing.