protected bool EqualsImpl(Symbol other)
{
return Kind == other.Kind
&& string.Equals(Name, other.Name)
&& (Parent == null) == (other.Parent == null)
&& (Parent == null || Parent.EqualsImpl(other.Parent));
}