A program is to be written to simulate a certain card game. One aspect of this simulation is to maintain a discard pile. On any turn, a player may discard a single card from her hand to the top of this pile, or she may retrieve the top card from this discard pile. Is there an appropriate data type to model this discard pile?