command options should be made local, and a new syntax should provide persistent options

Allow users the possibility to bypass the current situation where an option set in one command is perpetuated into other commands when the user doesn't explicitly pass the option again. e.g. In the following case, the second call to command will have options 1, 2, and 3 set even though only 1 and 3 were passed:

command(option1, option2);
command(option1, option3);

Introduce a new syntax such as

command(option1, option2);
command!(option1, option3);

which would tell the preprocessor to reset all command-specific options to their defaults before writing output. To do this, every command's options must be local to a substructure of options_ (i.e. options_.command.option1, options_.command.option2, etc.)

Edited by Sébastien Villemot