Refactorings:
- Alternation.SelectFromChildren()
- HashSetExtensions.ToHashSet()
Fixed red tests: don't push EndOfInput onto the symbol stack