It is likely the best that can be done, but that's my point, C++ can't do this because the foundational type system isn't up to the task.
It is likely the best that can be done, but that's my point, C++ can't do this because the foundational type system isn't up to the task.