It has a ulong overload too, see [here](https://github.com/D-Programming-Language/druntime/blob/master/src/rt/util/string.d#L22).
But I don't know if we can safely import a `rt.*` module here. If the constructor gets inlined the import would fail, because we don't create headers for `rt.*` modules. Other than that we're stumbling over the same errno isn't pure issue.
I think it would be legitimate to create a pure wrapper that throws if errno was changed.