This diagram represents a more typical algorithm for me than the three macro scenario above: (the primary reason for all these arrows is error handling)
I have to write code that does this. It's not my fault, that's the way my algorithms solve the problems that I face. So I either use the SWITCH-IN-A-LOOP approach or the BRANCH-VIA-APPLESCRIPT approach. I'm not really complaining, both approaches solve my problem. Sometimes it takes more than the basic WHILE/IF/REPEAT actions to solve my problems.
Both of these solutions have problems. The BRANCH-VIA-APPLESCRIPT solution means I lose KM's good ability to rename macros instantly and easily (although I wish KM could do the same for variables). The SWITCH-IN-A-LOOP approach is a drag on the editor: it slows down the editor to the point where it's barely useable when I have nested and/or sequential SWITCH actions.
I'm not really sure what the right solution is. I suspect Peter is loathe to introduce a BRANCH/GOTO mechanism because that's "not good programming." I think it would be possible to create an enhanced SWITCH action that essentially supports the SWITCH action example above. But I don't think he'll do that. My main purpose in these posts is to find out if anyone can achieve my goals without resorting to Applescript and without the inefficiencies of big SWITCH actions. I need to find a better solution.