docs: def _fill_hidden_singles(self):
          """Look for hidden singles, i.e. cells with only one unique possible value in row, column or box.
  
          :return: If any Hidden Single has been found.
          :rtype: bool
  
          """
          for i in utils.range_(self.side):
              box_i = (i // self.order) * self.order
              for j in utils.range_(self.side):
                  box_j = (j // self.order) * self.order
                  # Skip if this cell is determined already.
                  if self[i][j] > 0:
                      continue
  
                  # Look for hidden single in rows.
                  p = self._possibles[i][j]
                  for k in utils.range_(self.side):
                      if k == j:
                          continue
                      p = p.difference(self._possibles[i][k])
                  if len(p) == 1:
                      # Found a hidden single in a row!
                      self.set_cell(i, j, p.pop())
                      self.solution_steps.append(self._format_step("HIDDEN-ROW", (i, j), self[i][j]))
                      return True
  
                  # Look for hidden single in columns
                  p = self._possibles[i][j]
                  for k in utils.range_(self.side):
                      if k == i:
                          continue
                      p = p.difference(self._possibles[k][j])
                  if len(p) == 1:
                      # Found a hidden single in a column!
                      self.set_cell(i, j, p.pop())
                      self.solution_steps.append(self._format_step("HIDDEN-COL", (i, j), self[i][j]))
                      return True
  
                  # Look for hidden single in box
                  p = self._possibles[i][j]
                  for k in utils.range_(box_i, box_i + self.order):
                      for kk in utils.range_(box_j, box_j + self.order):
                          if k == i and kk == j:
                              continue
                          p = p.difference(self._possibles[k][kk])
                  if len(p) == 1:
                      # Found a hidden single in a box!
                      self.set_cell(i, j, p.pop())
                      self.solution_steps.append(self._format_step("HIDDEN-BOX", (i, j), self[i][j]))
                      return True
  
          return False