It would be better if these were just written directly with a loop, rather than allocating a vector and n+1 strings... although I guess printing `Version`s is unlikely to be a hot path ever.

(But, in general, avoiding allocations is good.)