code: def delete(self, start=None, stop=None):
  		
  		_check_start_stop(start, stop)
  		start_loc = self._bisect_right(start) - 1
  		if stop is None:
  			stop_loc = len(self._keys)
  		else:
  			stop_loc = self._bisect_left(stop)
  		for value in self._values[start_loc:stop_loc]:
  			if value is NOT_SET:
  				raise KeyError((start, stop))
  		# this is inefficient, we've already found the sub ranges
  		self.set(NOT_SET, start=start, stop=stop)
docs: Delete the range from start to stop from self.
  
  		Raises:
  			KeyError: If part of the passed range isn't mapped.