Am I incorrect in thinking this is not a TypeScript problem, but a problem most languages have, and that TypeScript is one of the few with a neat little solution?
In most languages you could probably solve this problem with a class. But wrapping all your numbers in a class with runtime consequences, just for a bit of extra type safety, feels quite extreme.