code: func (h *expiryHeap) Push(x interface{}) {
  	entry := x.(*cacheEntryExpiry)
  
  	// Set initial heap index, if we're going to the end then Swap
  	// won't be called so we need to initialize
  	entry.HeapIndex = len(h.Entries)
  
  	// For the first entry, we need to trigger a channel send because
  	// Swap won't be called; nothing to swap! We can call it right away
  	// because all heap operations are within a lock.
  	if len(h.Entries) == 0 {
  		h.notify()
  	}
  
  	h.Entries = append(h.Entries, entry)
  }
docs: // heap.Interface, this isn't expected to be called directly.