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) }