I understand the modifications part, but why would push/pop counts be mismatched?
That is of course perfectly legal, but not something you see in normal programs. In the end, it really helping me to understand how the stack works, but the first time I saw it, it was super confusing.