docs: def _tile_intersecting_tilepyramid(tile, tp):
      """Return all tiles from tilepyramid intersecting with tile."""
      if tile.tp.grid != tp.grid:
          raise ValueError("Tile and TilePyramid source grids must be the same.")
      tile_metatiling = tile.tile_pyramid.metatiling
      pyramid_metatiling = tp.metatiling
      multiplier = tile_metatiling / pyramid_metatiling
      if tile_metatiling > pyramid_metatiling:
          return [
              tp.tile(
                  tile.zoom,
                  int(multiplier) * tile.row + row_offset,
                  int(multiplier) * tile.col + col_offset
              )
              for row_offset, col_offset in product(
                  range(int(multiplier)), range(int(multiplier))
              )
          ]
      elif tile_metatiling < pyramid_metatiling:
          return [tp.tile(
              tile.zoom, int(multiplier * tile.row), int(multiplier * tile.col)
          )]
      else:
          return [tp.tile(*tile.id)]