Separated Watch – Do you have a plan to invalidate the script if there is more than one element left on the stack?
This is a consensus rule inside the (P2SH-)P2WSH watchdog script and the P2TR script path is already spent.
See BIP141:
The script must not fail and must throw exactly a single TRUE on the stack.
And BIP342:
If the execution results in exactly one element on the stack and evaluates to true as follows:
CastToBool()
fail.
A soft fork can be performed to enforce this rule for bare scripts and P2SH scripts as well. However, as mentioned, if done naively it can interfere with segwit script matching. A potential solution is to exclude these patterns from the rule. However, this may still be undesirable as it will disable similar script extension mechanisms in the future. This wasn’t an issue when BIP62 was proposed before segwit, but in retrospect it’s probably a good thing it wasn’t adopted as a consensus rule.
I see little reason to add this rule to bare scripts and even P2SH scripts. Because they are virtually useless. Modern structures are cheaper, smaller, more convenient, and offer more features.