Commit Briefs
style (assert) (main)
switch to unsigned char
note: char can be portably converted to unsigned char (modulo arithmetic) but the converse is not true (undefined behavior)!
explicitly clear final state in epsilon_step
FOREACHSTATE does not cover the final state.