code: func (h *heapData) Pop() interface{} {
  	key := h.queue[len(h.queue)-1]
  	h.queue = h.queue[0 : len(h.queue)-1]
  	item, ok := h.items[key]
  	if !ok {
  		// This is an error
  		return nil
  	}
  	delete(h.items, key)
  	return item.obj
  }
docs: // Pop is supposed to be called by heap.Pop only.