code: def _union_with_si(self, si):
          
  
          dsis = self.copy()
          for si_ in dsis._si_set:
              if BoolResult.is_true(si_ == si):
                  return dsis
  
          dsis._si_set.add(si)
          dsis._update_bounds(si)
  
          return dsis.normalize()
docs: Union with another StridedInterval.
  
          :param si:
          :return: