It's a common bug to get different ID types mixed up, and a gigantic offset will do nothing to help you with that.
In Ada it's standard practice. In C++ you really need a library to do it easily, but there's a good one out there ready to go:
https://github.com/foonathan/type_safe/
It's a common bug to get different ID types mixed up, and a gigantic offset will do nothing to help you with that.