Retina 1.0 Roadmap
[x] Make interpreter work with arbitrary streams to stub I/O and make entire programs testable.
[x] Add test suites for currently untested stage types, as well as some features like groups and loops.
[x] Refactor to make more use of compound stages for options that interact with one another.
[x] Unify stage semantics (bisection into matches and non-matches, first limit, @ and $ options, maybe ^ and & options)
[x] Add option to switch input string with regex.
[x] Add capabilities to work with non-matches and adjacent matches/non-matches in substitutions.