Use macros more effectively to reduce risk of copy-paste errors.
Add parse-time checks for blocks; make missing filters a warning-level occurrence; check for unbalanced blocks at parse time.