ToDo: Rules can be dynamically reordered in "optimize correct" mode by moving the offending rule to the end of the section
ToDo: Refactor statistics to be gathered in their own objects rather than inline with Grammar, Rules, ContextualTest, Set
ToDo: Enable a daemonized version.
ToDo: Add flag for using dependencies to delimit windows
ToDo: Make old cohort -> rules order available via switch
ToDo: Make use of Preferred-Targets
ToDo: Move DoesTagMatchSet to Grammar
ToDo: Line number on all applicable warnings
ToDo: Add --only-mappings-corrections --only-mappings --only-corrections
ToDo: Section groups to allow multiple before/after-sections
ToDo: "X Marks the Spot": Using x without setting a new X is equivalent to writing multiple () tests.
ToDo: Optimize-unsafe by eliminating tests which do no good (either always true or never the only one to block).
ToDo: Investigate effects of SetParent/Child and Xx.
ToDo: Make SOFT-DELIMITERS look back.
ToDo: Rule option blocks: OPTIONS +NEAREST -DELAYED
ToDo: Transaction blocks: TRANSACTION, COMMIT, ROLLBACK
ToDo: Binary input/output stream for lossless chaining of multiple CG-3
ToDo: Make ANCHOR, JUMP, EXECUTE actually do something...
ToDo: Add --ordered and ORDERED UNORDERED rule/set/list options.
ToDo: Add --use-dep-windows by checking if new ID is lower than last seen max, or delta is too large
ToDo: Boost's unordered_map/set are 20% faster than MSVC++'s hash_map/set - retest in MSVC++ 2010 when they finalize their unordered_map/set implementations.
ToDo: Allow multiple contextual position per test via ,
ToDo: Allow using LIST sets in MAP/ADD/SUBSTITUTE
ToDo: Dynamic window buffers based on dependency / relation links
ToDo: Make all tag containers have Tag* instead of uint32_t
ToDo: SELECT $$@FUNC + $$sem IF (*1 V LINK 0 (<f($$@FUNC)/($$sem)>=50>)) ;
ToDo: SELECT $$sem IF (-1 N LINK 0 (<+($$sem)>)) ;
ToDo: Somehow refer to left / right sibling
ToDo: Movement of entire sub-trees
ToDo: Use Cohort iterator instead of subfunctions
