code: def overlaps(self, begin, end=None):
          
          if end is not None:
              return self.overlaps_range(begin, end)
          elif isinstance(begin, Number):
              return self.overlaps_point(begin)
          else:
              return self.overlaps_range(begin.begin, begin.end)
docs: Returns whether some interval in the tree overlaps the given
          point or range.
  
          Completes in O(r*log n) time, where r is the size of the
          search range.
          :rtype: bool