func (s *VecStack) Pop() (value *Vec) {
	if s.size > 0 {
		value, s.top = s.top.value, s.top.next
		s.size--
		return
	}
	return nil
}
func (s *VecStack) Pop() (value *Vec) {
	if s.size > 0 {
		value, s.top = s.top.value, s.top.next
		s.size--
		return
	}
	return nil
}
// Pop removes the topmost item from the stack and return its value.
//
// If the stack is empty, Pop returns nil.