If D wants to become more fit for functional programming, then D specs may talk about this, and the DMD may learn to perform part of such optimization, and GCC does.
One of the several possible alternative solutions: http://www.score.is.tsukuba.ac.jp/~minamide/papers/sas03.pdf A bit of related discussion: http://lambda-the-ultimate.org/node/1331 Bye, bearophile
