Even more simply put: I don't want my replacement text subject to replacement again. I know what the original input is, and I expect that and only that to be used, as the basis for what the dictionary processing is looking at. Partially tweaked text should not be substuted as though it were original for the rest of the processing, and what has been examined in order to make the initial change should now be severed from what remains if additional processing (or even processing from the beginning) is to be done.
Once something within an initial input string is changed, it is only what is subsequent to it in that initial intput string that should continue to be processed.
That is what I believe virtually anyone would believe should happen, absent any knowledge of the peculiarities that have been shared here. It's predictable, it's manageable, and it's way less likely to end up in wildly weird results, particularly if a huge dictionary is involved.
Brian - Windows 10 Pro, 64-Bit, Version 20H2, Build 19042
Always remember others may hate you but those who hate you don't win unless you hate them. And then you destroy yourself.
~ Richard M. Nixon