FIFO stuff

Agree with the problem, but not the solution. I think Pop() should loop through the queue and remove *all* instances of the thing it's poping, not just the first one.