code: def move_to_end(self, key=NOT_SET, index=NOT_SET, last=True):
  		
  		if index is NOT_SET and key is not NOT_SET:
  			index, value = self._dict[key]
  		elif index is not NOT_SET and key is NOT_SET:
  			key, value = self._list[index]
  
  			# Normalize index
  			if index < 0:
  				index += len(self._list)
  		else:
  			raise KEY_EQ_INDEX_ERROR
  
  		if last:
  			index_range = range(len(self._list) - 1, index - 1, -1)
  			self._dict[key] = (len(self._list) - 1, value)
  		else:
  			index_range = range(index + 1)
  			self._dict[key] = (0, value)
  
  		previous = (key, value)
  		for i in index_range:
  			self._dict[previous[0]] = i, previous[1]
  			previous, self._list[i] = self._list[i], previous
docs: Move an existing element to the end (or beginning if last==False).
  
  		Runs in O(N).