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. Easily doable via Perl's Net::Server::PreFork.
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: 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: Dynamic window buffers based on dependency / relation links
ToDo: Make all tag containers have Tag* instead of uint32_t
ToDo: Make all set containers have Set* instead of uint32_t
ToDo: SELECT $$sem IF (-1 N LINK 0 (<+{$$sem,<(.*)>,$1}>)) ;
ToDo: Somehow refer to left / right sibling
ToDo: Use Cohort iterator instead of subfunctions
ToDo: Make things less magic (explain what magic means in the various contexts)
ToDo: Handle duplicate different sets and delimiters from INCLUDE files. Possibly make new keyword or option for INCLUDE. Handle line numbering how?
ToDo: Add an insert position for MAP/ADD
ToDo: Stabilize the binary grammar format or get to a point where old versions are easy to load
ToDo: Don't output a warning if it is identical to last output warning.
ToDo: Allow rules to be run on contextual test targets, if all tests are true.
ToDo: Rules don't currently require ; termination...should they?
ToDo: Cache shared contexts between close rules
