code: func (h *Heap) Pop() (interface{}, error) {
  	obj := heap.Pop(h.data)
  	if obj != nil {
  		if h.metricRecorder != nil {
  			h.metricRecorder.Dec()
  		}
  		return obj, nil
  	}
  	return nil, fmt.Errorf("object was removed from heap data")
  }
docs: // Pop returns the head of the heap and removes it.