I hadn't mentioned it yet, but these kinds of tricks always make me nervous, because of edge cases. For example, it'll fail to correctly print `long.min`, as `long.min == -long.min`. This should (seems) to work though:

```D
return "-" ~ toImpl!(T)(unsigned(cast(T)-value), radix);
```

This has the double advantage of handling `T.min` cases, and it doesn't trigger promotion either. The "cast" is to un-promote types that are smaller than int. AFAIK, there is 0 runtime overhead.

I don't see any other edge cases... Do you?

But yeah, the `~` is guaranteed relocation :/