Btw, I've used the `sink` version of toString since I want to avoid memory allocation, but then again I'm not sure if we have a way to avoid the allocations when converting a size_t to a string. Can `format` itself take a `sink`? If so I could just redirect it, e.g. (pseudocode):

```D
formatSink(sink, "%s", threadID);
```

Or whatever the function name is if it exists.