docs: def remove_overlap(self, begin, end=None):
          """
          Removes all intervals overlapping the given point or range.
  
          Completes in O((r+m)*log n) time, where:
            * n = size of the tree
            * m = number of matches
            * r = size of the search range (this is 1 for a point)
          """
          hitlist = self.at(begin) if end is None else self.overlap(begin, end)
          for iv in hitlist:
              self.remove(iv)