docs: def split_overlaps(self):
          """
          Finds all intervals with overlapping ranges and splits them
          along the range boundaries.
  
          Completes in worst-case O(n^2*log n) time (many interval
          boundaries are inside many intervals), best-case O(n*log n)
          time (small number of overlaps << n per interval).
          """
          if not self:
              return
          if len(self.boundary_table) == 2:
              return
  
          bounds = sorted(self.boundary_table)  # get bound locations
  
          new_ivs = set()
          for lbound, ubound in zip(bounds[:-1], bounds[1:]):
              for iv in self[lbound]:
                  new_ivs.add(Interval(lbound, ubound, iv.data))
  
          self.__init__(new_ivs)