Good catch. In either case, doing `string.gsub` and `string.dup.gsub!` are functionally equivalent, since calling `string.gsub` will have to copy the string in order to safely modify it. That being said the interesting bit is how we can deduplicate some of the logic. This can also be written like this:

```ruby
if indent.length > = 0
  text = text.gsub # ...
end
```

Which removes the need for the explicit `dup` and `gsub!`, and is a bit cleaner.