code: func (stack *Stack) Enumerate(cancel <-chan struct{}) Enumerator {
  	stack.key.RLock()
  	defer stack.key.RUnlock()
  
  	return stack.underlyer.Enumerate(cancel)
  }
docs: // Enumerate peeks at each element in the stack without mutating it.