The entire operating procedure of security exchanges is a series of terrible ideas that exists in it's current form because it allows the most wealthy participants to maintain advantage. Latency arbitrage shouldn't exist, as one example. There are no sound explanations of why it must be allowed, which leaves greed as the only plausible one. We dedicate a lot of talented people and expensive equipment to fleecing each other at high speed when there are better problems to be worked on. On a societal level it's idiotic.
I like the IEX method of introducing a minimum latency and don't see why every exchange shouldn't do this. Selling retail trader order flows should be regulated out of existence, too.