This is a truly superb question, thank you!
I have no answers, only concerns and questions.
With a background as a software engineer (and the precision and rigidity that comes with that), I’m mainly concerned about the “vagueness” and “wishy-washy-ness” of the rules in some places. I’ve followed numerous discussions here about rule interpretation, what do to in situation X, Y, and Z, etc. What worries me is that some rules (and rulings) are essentially arbitrary. Not because the rules are bad per se, but because various pinball machines keep throwing spanners in the works.
Machines keep changing all the time because manufacturers come up with new and creative way to make a game more interesting, and machines keep coming up with new and creative ways to make a mockery of the rules because they add new failure modes or exceptions that never existed before.
I am wondering whether it would not be all-round simpler to accept that a machine is as it is. In the sense that, unless there is something clearly wrong, such as a switch registering when it shouldn’t, or a switch not registering when it should, what the machine does is what counts.
It certainly would make a lot of rulings a lot simpler. “The machine did X, all switches were working, play it as it lies.”
It seems that some of the rules try to impose a sense of “fairness” that, in reality, does not exist. Trapping up behind the barrier on AFM is OK because some clever programmer thought that Dirty Pool was a good joke. But trapping up behind the barrier on Spiderman is not OK, because some other programmer didn’t think of the same joke. Really?