public void Visit(TypedNameNode node) { SourceLocation?existing; if (_names.TryGetValue(node.Identifier, out existing)) { _errors.DuplicateSymbolError(node.SourceSpan.GetValueOrDefault(), node.Identifier, existing.GetValueOrDefault()); } else { _names.Add(node.Identifier, node.SourceSpan); } }