SemanticState keeps track of identifier usages, to keep track of scopes