A fix for Appender is *NOT* underway. Not nay time soon anyways. For now, I suggest simply doing:
```D
Appender!S result;
result.reserve(s.length);
put(result, s[0 ..i]);
```
It's one extra line of code, but there is still exactly as much allocation. In fact, it makes 1 less call to `s.capacity`. Let's just do that for now.