All macro solutions require recompilation, therefore they
are not acceptable for real-world needs.
Everything that requires recompilation is not acceptable.Macros are used only as a helper facility for format *definition*.
You can always have separate mechanism to support runtime cjange of
the format.
It should be possible to update format definitions and add new