public IPair <E1, E2> ExpressionOrder(IPair <E1, E2> e) { return(new Pair <E1, E2>(Factory1.ExpressionOrder(e.Item1), Factory2.ExpressionOrder(e.Item2))); }