Which is great: why do all that work writing some kind of custom sprintf generating function when you can just let the JIT do it for you on the fly?