I agree with @jmrodri that this feels like it should be more dynamic, but that's not really relevant for this
patch review (and really, probably not worth the effort to make it so)