Did I ever say I hated m4? We've got one of the weirdest m4-driven report systems (don't ask) I've ever seen. If you don't know what m4 is, you don't really want to know.
Once really addicted, users pursue writing of sophisticated m4 applications even to solve simple problems, devoting more time debugging their m4 scripts than doing real work. Beware that m4 may be dangerous for the health of compulsive programmers.
(from [link|http://www.cslab.vt.edu/manuals/m4/m4_1.html#SEC1|Introduction to m4]).
Some of the stuff I debug has to do with an addictive m4-coder. Damn the bastard.