additional features could include
(d) identify macro files which are loaded but unused
(e) check spelling inside BEGIN_TEXT/END_TEXT blocks (or BEGIN/END_HINT or BEGIN/END_SOLUTION) but skipping variable names, stuff in math mode, and \{ code \}