code: def _ixor(self, other):
  		
  		if isinstance(other, _basebag):
  			for elem, other_count in other.counts():
  				count = abs(self.count(elem) - other_count)
  				self._set_count(elem, count)
  		else:
  			# Let a = self.count(elem) and b = other.count(elem)
  			# if a >= b then elem is removed from self b times leaving a - b
  			# if a < b then elem is removed from self a times then added (b - a)
  			# times leaving a - a + (b - a) = b - a
  			for elem in other:
  				try:
  					self._increment_count(elem, -1)
  				except ValueError:
  					self._increment_count(elem, 1)
  		return self
docs: Set self to the symmetric difference between the sets.
  
  		if isinstance(other, _basebag):
  			This runs in O(other.num_unique_elements())
  		else:
  			This runs in O(len(other))