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