Besides, the sink version basically allows encapsulation of an
output
range -- instead of calling x.toString(outputRange) you just
write:
x.toString((const(char)[] data) { outputRange.put(data); });
In recent compiler versions we can just write:
x.toString(data => outputRange.put(data));
