code: func (h *Heap) Delete(obj interface{}) error {
  	key, err := h.data.keyFunc(obj)
  	if err != nil {
  		return cache.KeyError{Obj: obj, Err: err}
  	}
  	if item, ok := h.data.items[key]; ok {
  		heap.Remove(h.data, item.index)
  		if h.metricRecorder != nil {
  			h.metricRecorder.Dec()
  		}
  		return nil
  	}
  	return fmt.Errorf("object not found")
  }
docs: // Delete removes an item.