code: func (pq *waitForPriorityQueue) Pop() interface{} {
  	n := len(*pq)
  	item := (*pq)[n-1]
  	item.index = -1
  	*pq = (*pq)[0:(n - 1)]
  	return item
  }
docs: // Pop removes an item from the queue. Pop should not be called directly;
  // instead, use `heap.Pop`.