It's quite simple.

To "pop" something off a stack you need to do two things.
1) Reduce the size of the stack by one element.
2) Return the element that was on the top of the stack.

Ok, so "2)" is easy - set the value of the function to the value of the elemnt that was on the top of the stack. The return value of the function is the "popped" element.

How do you do "1)" then? Well, you can't. The array is passed by value, not reference, so it cannot be modified.

As I said in the previous post, the only way to do it is to make your array a global variable, pass the variable name and use Execute() to modify it.