public bool Equals(ValuePair <TFirst, TSecond> other) => Equals(this, other);
public static bool Equals(ValuePair <TFirst, TSecond> s1, ValuePair <TFirst, TSecond> s2) => s1.First.Equals(s2.First) && s1.Second.Equals(s2.Second);