Honestly, it seems like we're overoptimizing for a corner case instead of the 80% happy path. IMO we could solve this (much) later by detecting this kind of wacky pattern when it crops up in the rule.