afaik there is no integer type in json but a numeric type, and most languages do have different numeric types.
Now you're adding ~5 lines of boilerplate every time you want to have an integer, another 5 for positive integers, and so on.
{"type": "integer", "minimum": 0}
I think the format used in the example was used to demonstrate bundling, but if what you really want is a non-negative integer, the above is the simplest way to do it.
If I had used a more complex example, it would have been much harder to follow. This was the simplest.
We factor this out for our meta-schema construction due to reuse.