code: func (q *Queue) Enumerate(cancel <-chan struct{}) Enumerator {
  	q.key.RLock()
  	defer q.key.RUnlock()
  	return q.underlyer.Enumerate(cancel)
  }
docs: // Enumerate peeks at each element of this queue without mutating it.