class Pair { T x; U y; public Pair() { } public Pair(T x, U y) { this.x = x; this.y = y; } public T fst () { return x; } public U snd () { return y; } } public class Iteration { m1(x, y) { var help; help = m2(x, y); var y2 = help.snd(); return new Pair<>(x,y2); } m2(x,y) { var help = m1(x, y); var x2 = help.fst(); return new Pair<>(x2, y); } }