Might be good to add a test using the iterator only, via either `Q.forEach(queue.iterate())` to simulate giving the iterator to some other caller, or via `Q.forEach(queue)` to test that the queue implementers the "has-`iterate()`" interface correctly. Or both.