Client Interface
In addition, there are many different
interpretations of how these operations
should actually be implemented
should “is empty” be combined with “pop”
should “is full” be combined with “push”
should pop return and remove the item on the top of
the stack, or
should pop just remove the item at the top of the stack,
requiring that a “peek” also be provided