Currently the optional() quantifier is available as a separate pattern. This issue proposes to make it available as a flag to all patterns.
This implies that:
1) a singleton pattern with optional=true will become the current OPTIONAL,
2) a oneToMany will become zeroToMany,
3) the zeroToMany will not exist as a direct option in the Pattern class, and
4) the times() will require some changes in the NFACompiler.