a new framework for code generation. Error, warnings and operators form a monoid. Support generating local code blocks
"If" operator fixed co contain a single branch, according to G-macro spec
generating code for all instructions except while