code: func (s *sstack) Pop() (res interface{}) {
  	s.size--
  	s.offset--
  	if s.offset < 0 {
  		s.offset = blockSize - 1
  		s.active = s.blocks[s.size/blockSize]
  	}
  	res, s.active[s.offset] = s.active[s.offset], nil
  	if s.setIndex != nil {
  		s.setIndex(res.(*item).value, -1)
  	}
  	return
  }
docs: // Pops a value off the stack and returns it. Currently no shrinking is done.
  // Required by heap.Interface.