We need: `Symbols with Types with Names with Scopes with StdNames`.

Its a judgement call, but I think I'll leave it at `SymbolTable` for now.

It would be good to analyze the opportunity for self-type narrowing across the board. Maybe the best outcome would be to identify commonly used subsets, and represent them with a type. I'm a bit wary of using long lists of dependencies as it adds a burden when moving around from file to file.