public IPair <S1, S2> Form(string var, IPair <S1, S2> s) { return(new Pair <S1, S2>(Factory1.Form(var, s.Item1), Factory2.Form(var, s.Item2))); }