I thought about this, but 1) traversal is cheap, and happens on a non-critical path, and 2) it would require doing the walk in the root prometheus package and encoding the result in the application state, which seems like a weird place to put it.