docs: def copy(self, no_overlap: bool = None,
               no_contiguous: bool = None) -> "IntervalList":
          """
          Makes and returns a copy of the :class:`IntervalList`. The
          ``no_overlap``/``no_contiguous`` parameters can be changed.
  
          Args:
              no_overlap: merge intervals that overlap (now and on subsequent
                  addition)?
              no_contiguous: if ``no_overlap`` is set, merge intervals that are
                  contiguous too?
          """
          if no_overlap is None:
              no_overlap = self.no_overlap
          if no_contiguous is None:
              no_contiguous = self.no_contiguous
          return IntervalList(self.intervals, no_overlap=no_overlap,
                              no_contiguous=no_contiguous)