docs: def intersection(self, range):
          """
  		Calculates the intersection with another range object
  		"""
          if self.worksheet != range.worksheet:
              # Different worksheet
              return None
          start = (max(self._start[0], range._start[0]),
                   max(self._start[1], range._start[1]))
          end = (min(self._end[0], range._end[0]),
                 min(self._end[1], range._end[1]))
          if end[0] < start[0] or end[1] < start[1]:
              return None
          return Range(start, end, self.worksheet, validate=False)