thanks for all the replies so far.
But let me just clarify a point. I do not want to replace schedule in
any way !

My agents are objects and they have certain properties (type, age,
growth rate, etc.) which I need to read regularly to calculate some
statistics. So I just need to iterate over all my agents to read these

Sean mentioned that elements() is reasonable fast, so I probably just
stick with that and avoid maintaining my own Bag as Russell is doing it.