code: func (deque *keyedDeque) Delete(key interface{}) (v interface{}) {
  	deque.RLock()
  	e, ok := deque.index[key]
  	deque.RUnlock()
  
  	deque.Lock()
  	defer deque.Unlock()
  
  	if ok {
  		v = deque.syncedList.Remove(e)
  		delete(deque.index, key)
  		delete(deque.invertedIndex, e)
  	}
  
  	return
  }
docs: // Delete deletes a value named key.