code: func (pq *waitForPriorityQueue) Push(x interface{}) {
  	n := len(*pq)
  	item := x.(*waitFor)
  	item.index = n
  	*pq = append(*pq, item)
  }
docs: // Push adds an item to the queue. Push should not be called directly; instead,
  // use `heap.Push`.