code: def index(self, value, start=0, end=None):
  		
  		try:
  			index = self._dict[value]
  		except KeyError:
  			raise ValueError
  		else:
  			start = self._fix_neg_index(start)
  			end = self._fix_end_index(end)
  			if start <= index and index < end:
  				return index
  			else:
  				raise ValueError
docs: Return the index of value between start and end.
  
  		By default, the entire setlist is searched.
  
  		This runs in O(1)
  
  		Args:
  			value: The value to find the index of
  			start (int): The index to start searching at (defaults to 0)
  			end (int): The index to stop searching at (defaults to the end of the list)
  		Returns:
  			int: The index of the value
  		Raises:
  			ValueError: If the value is not in the list or outside of start - end
  			IndexError: If start or end are out of range