In addition, using an external macro processor is made slightly more difficult by the fact that includes won't be processed. It would be nice to be able to include from a pipe:
\include "
foo.ly|gema -f rulefile"
or some other way to define a preprocessor for includes. I know that the Lilypond devs are against including their own preprocessor, but something like this would help make it easier for other people to do so on their own.
I was thinking of trying to delve into the Scheme code, if that is indeed handled in the Sceme code.