allow running tests at different phases
fix out of date prose on cases
dead code
use a string dict to avoid walking this list on every identifier in the program