1. Scanners for keywords and operators might use the Trie data structure. 2. Other scanners whose state transition tables need to be handwritten should be written in a more elegant way. For example: ``` static { ... someState.On(somePredicate).Goto(someOtherState); ... } ```