`~str + str` is pretty bad (to the point of me thinking that it's removal would be good): one can just reuse the `~str` allocation, so:

```rust
let mut s = <the iterator chain>.connect("\n");
s.push_char('\n');
s
```