code: func (q *Queue) Peek() (interface{}, error) {
  	q.lock.Lock()
  	defer q.lock.Unlock()
  
  	if q.disposed {
  		return nil, ErrDisposed
  	}
  
  	peekItem, ok := q.items.peek()
  	if !ok {
  		return nil, ErrEmptyQueue
  	}
  
  	return peekItem, nil
  }
docs: // Peek returns a the first item in the queue by value
  // without modifying the queue.