code: func (s *parentStack) Push(node *treapNode) {
  	if s.index < staticDepth {
  		s.items[s.index] = node
  		s.index++
  		return
  	}
  
  	// This approach is used over append because reslicing the slice to pop
  	// the item causes the compiler to make unneeded allocations.  Also,
  	// since the max number of items is related to the tree depth which
  	// requires expontentially more items to increase, only increase the cap
  	// one item at a time.  This is more intelligent than the generic append
  	// expansion algorithm which often doubles the cap.
  	index := s.index - staticDepth
  	if index+1 > cap(s.overflow) {
  		overflow := make([]*treapNode, index+1)
  		copy(overflow, s.overflow)
  		s.overflow = overflow
  	}
  	s.overflow[index] = node
  	s.index++
  }
docs: // Push pushes the passed item onto the top of the stack.