Currently, TheFormLetterMachine only allows one symbolic variable file at a time and you must choose between them. It would be significantly better if TheFormLetterMachine operated much like a linker such that multiple object libraries are opened at once and the precedence of the library listing determines which values the overloaded symbolic variables would take. For example, consider overloading the printf() symbol in debug.obj:
$ LINK main.obj,debug.obj,subroutines.obj > main.exe
would produce a main.exe load module (executable) with additional printf() debugging behavior for tracing the program's progress. In contrast, if we reversed the debug.obj and subroutines.obj list order, ...
$ LINK main.obj,subroutines.obj,debug.obj > main.exe
then list-order precedence would resolve the overloaded symbols by the subroutines.obj library first instead of the debug.obj library, so the main.exe result would have less debugging objects linked in with it (although non-overloaded symbols within debug.obj would still be included in main.exe).
To use an example more appropriate for TheFormLetterMachine, say a computer scientist is looking for a job in either the graphics, database, or networking fields. When a recruiter responds to his job ads, he would respond with a precedence listings:
database.var,graphics.var,network.var,general.var --> for database job inquiries
network.var,graphics.var,database.var,general.var --> for networking job inquiries
This means that the precedence list (of overloaded symbols) will need to be juggled for each e-mail response, so there needs to be a "quickie" drag-and-drop GUI to juggle the precedence list each time. In addition, the command line should accept a var-file list, such that a Windows shortcut can define a given precedence listing.
My only reservations with this approach is that some end users may not understand the concept of "precedence" and "overloading", although they could still use TheFormLetterMachine the "old" way without this understanding. However, if they wanted to become power users, then they would need to understand these concepts.