code: def cells(self) -> Generator[Tuple[int, int], None, None]:
          
          yield from itertools.product(
              range(self.row_start, self.row_end),
              range(self.column_start, self.column_end)
          )
docs: Generate cells in span.