func pop(stack gcv.Values) (gcv.Value, gcv.Values) {
	return stack.Get(stack.Len() - 1), stack.Subset(0, stack.Len()-2)
}
func dequeue(stack gcv.Values) (gcv.Value, gcv.Values) {
	return stack.Get(0), stack.Subset(1, stack.Len()-1)
}