it helps some times I'm posting this as a partial answer I found to my own question, and I'll accept it in a few days if nothing new pops up. The following works, but only if the macro to apply is contained in a library.
fixed the issue. Will look into that further The problem is that a is just a symbol at compile time. So there's no way for a compile-time macro to see what it contains and do the necessary expansion. As a result, you need to expand the macro at run-time using eval. One way to do this is just to wrap the macro in a function that calls eval, which can be done with this handy "functionize" macro: