Changes for new AST signals for TUScheduler.
Many useful signals can be derived from a valid AST which is regularly updated by
the ASTWorker. runWithPreamble does not have access to the ParsedAST
but it can be provided access to some signals derived from a (possibly
stale) AST.
this requires storing all the SymbolIDs again.
You could just have a counter instead. The trick is that you're already counting the number of times a symbol has been seen...