docs: def _check_validity(self, i, j, height, width):
          """
          check if a rectangle (i, j, height, width) can be put into self.output
          """
          return all(self._check_cell_validity(ii, jj) for ii in range(i, i+height) for jj in range(j, j+width))