nir: Clean up some of the num_* weirdness

Some of it is easy to clean up. Some of it just needs to be better documented that it's weird.

Merge request reports