Can't believe I missed this. Should have been part
of the Do Nothing Gracefully cleanup.
You cannot use [string replace] to insert a substring
without at the same time taking at least on character
out.
% string replace abcde 1 0 h
abcde
Instead of the result any sane programmer would
expect:
ahbcde
In particular, the useful case of prepending is not
supported.
Recategorize to a Feature Request if you must. (This
misfeature is documented, FFS). But it's so boneheaded
it looks like a bug to me.
See branch bug-3608714.
Surprising thing is that the test suite does not care.