docs: def tiles_from_bounds(self, bounds, zoom):
          """
          Return all tiles intersecting with bounds.
  
          Bounds values will be cleaned if they cross the antimeridian or are
          outside of the Northern or Southern tile pyramid bounds.
  
          - bounds: tuple of (left, bottom, right, top) bounding values in tile
              pyramid CRS
          - zoom: zoom level
          """
          validate_zoom(zoom)
          if not isinstance(bounds, tuple) or len(bounds) != 4:
              raise ValueError("bounds must be a tuple of left, bottom, right, top values")
          if not isinstance(bounds, Bounds):
              bounds = Bounds(*bounds)
          if self.is_global:
              for tile in _global_tiles_from_bounds(self, bounds, zoom):
                  yield tile
          else:
              for tile in _tiles_from_cleaned_bounds(self, bounds, zoom):
                  yield tile