Not exposing it from a heavily included header such as `types.hh` would speed up the build and avoid polluting the environment with a lot of macros. This would hopefully make it easier to merge these changes upstream and make the code less fragile.