Make separate functions for character-level and syntax-level rule transitions
Properly merge transitions on overlapping character sets!