code: def combining_successors(state, last_action=()):
          
          ((corner, edge), (L, U, F, D, R, B)) = state
          U_turns = [Formula("U"), Formula("U'"), Formula("U2")] if len(last_action) != 1 else []
          R_turns = [Formula("R U R'"), Formula("R U' R'"), Formula("R U2 R'")] if "R" not in last_action else []
          F_turns = [Formula("F' U F"), Formula("F' U' F"), Formula("F' U2 F")] if "F" not in last_action else []
          for act in (U_turns + R_turns + F_turns):
              new = (corner, edge)
              for q in act:
                  new = F2LPairSolver._rotate(new, q)
              yield act, (new, (L, U, F, D, R, B))
docs: Successors function for finding path of combining F2L pair.