* Pass NameHierarchy to record new symbol returning an Id * Cache symbol Ids in Parser implementation * Reuse symbol Ids as reference when recording related data * Pass FilePath to record new file returning an Id * Cache file Ids in CanonicalFilePathCache * Store file Id in ParseLocation instead of FilePath fortune cookie message = You know a silent way to impose your will.