reprint is a refactoring of printf in the following ways:
1) reprint and printf are both templating functions; reprint frames its operation as a virtual machine, complete with a rigorously defined set of 'registers' and modifier bits
2) printf defines a seemingly arbitrary syntax; reprint's syntax is structured by the ASCII table
3) reprint supports binary output
4) reprint does not require input data to be marshalled via variadic arguments; packed data or pointers to a struct work just as well
5) reprint not only supports normal printf operation, but allows the programmer to 'pull' output bytes as needed or as they can fit into output buffers (such as DMA or a small buffer for interrupt use)
6) reprint acknowledges that formatted output is the first thing a programmer learns and strives to set a rigorous example for neophyte programmers to follow.