I suppose the game author could just write their own “To do whatever” phrase in the source, which looks like it automatically overwrites the original. That might actually be easier than replacing a named rule.
It depends on what the phrase does. You’ll have to look at it from the extension’s user’s perspective. Is the phrase such that it’s reasonable to assume that someone might want to change it? Is it used only internally or is it supposed to be used directly by the author? Can the (internal) rules that use it be easily changed to use some other phrase instead?
For example, if you have:
To decide which number is the third power of (X - a number):
decide on X * X * X.
…then it’s very unlikely that someone would need to change the mathematical definition of a third power. They’ll more likely want to change rules to use some other phrase instead.
On the other hand if you have:
To tamper with a live wire:
now the fuse is blown;
end the story in death.
…then it’s very likely that someone might want something else to happen instead, so the phrase should be a named rule instead.
This would certainly make things easier–then the game author could just replace the phrase if needed, and extension authors could use named phrases freely, even ones that they think game authors might want to modify.
It sounds like the “rule” should throw a compiler error when used with a named phrase. I think I learned of the ability to write “rule” there from some piece of official documentation and (if so) it was obviously misleading.
One thing not covered in the above discussion is that phrases can often be directly embedded in their I6 code, whereas rules always are compiled to separate I6 functions. So it will be slightly better performance to use phrases when the advantages of rules are not needed. If they are phrases involving block values the performance difference will be more noticeable. (Because I think the rule would have the overhead of initialising new block value local variables.)