public override bool Equals(object obj) { if (obj is NaryType) return (NaryType)obj == this; else return base.Equals(obj); }