I wanted to be able to print for debugging. I think it's not entirely correct, what I decided will be more useful is to keep a log of all events that happen in the simulation, so that in case of failure we could print that to console and parse and replay that separately to see what's happened. I'll see if I'll manage to implement that. But you're right the IO is not necessary there.