code: def solve(self):
          
          for i in range(4):
              for slot in ["FR", "RB", "BL", "LF"]:
                  solver = F2LPairSolver(self.cube, slot)
                  if not solver.is_solved():
                      yield tuple([self.cube[slot[i]].colour for i in range(2)]), solver.solve()
                      break
docs: Solve the entire F2L. (Generator)