I can see how that works, but I cannot see a way to easily track that during a solve without a significant slowdown in pairing?yeah i see ur point. having a number of bad edges that is NOT a multiple of 4 may or may not have OLL parity. you will not know until you pair the edges completely. Like having 10 bad edges means you could either HAVE or NOT HAVE OLL parity
however, if u have strictly a multiple of 4 for your number of bad edges, you CAN'T have OLL parity. (you may have 2*N OLL parities, but that cancels out).
in other words, forcing a multiple a 4 bad/good edges during centers (and not being stupid while pairing edges) will prevent OLL parity