Note that the lvalue returned by the three-argument version of
substr() acts as a 'magic bullet'; each time it is assigned to,
it remembers which part of the original string is being
modified; for example: