public SimpleName VariableName(string text) { if (text == "_") { return(SpecialName.Underscore); } // Just try putting in first index, if it isn't already there, no problem nextNumber.TryAdd(text, 0); var number = nextNumber[text]; nextNumber[text] += 1; return(SimpleName.Variable(text, number)); }