public int GetHashCode(Pair <T, U> obj) { return(obj.GetHashCode()); }
public bool Equals(Pair <T, U> x, Pair <T, U> y) { return(x == y); }
public static T AsFirst(Pair <T, U> p) { return(p.First); }
public static U AsSecond(Pair <T, U> p) { return(p.Second); }
public bool Equals(Pair <T, U> other) { return(this == other); }