sclass AllOnAllOperation implements Steppable { new AllOnAll allOnAll; *() {} *(AllOnAll *allOnAll, IVF1 *operation) {} swappable void operation(A a, B b) {} public bool step() { Pair p = allOnAll.next(); if (p == null) false; operation(p.a, p.b); true; } }