The hint: Solving this requires that the user code be placed in one procedure and that the data structures for the stack be placed in another procedure at the same nesting level as the first. Only by doing this are the two protected from each other. The problem, then, is to figure out how to make the push and pop routines for the stack accessible to the user code. The solution to this problem involves procedure parameters.