is there a reason we're distinguishing between "start" and "nonstart" nonterminals?