code: func (list *LinkedList) Swap(x, y uint) error {
  	list.key.Lock()
  	defer list.key.Unlock()
  
  	var xNode, yNode *llNode
  	if temp, ok := get(list.first, x); ok {
  		xNode = temp
  	} else {
  		return fmt.Errorf("index out of bounds 'x', wanted less than %d got %d", list.length, x)
  	}
  	if temp, ok := get(list.first, y); ok {
  		yNode = temp
  	} else {
  		return fmt.Errorf("index out of bounds 'y', wanted less than %d got %d", list.length, y)
  	}
  
  	temp := xNode.payload
  	xNode.payload = yNode.payload
  	yNode.payload = temp
  	return nil
  }
docs: // Swap switches the positions in which two values are stored in this list.
  // x and y represent the indexes of the items that should be swapped.