Why is there so much emphasis on printBenchmarks()?
benchmark() and runBenchmarks() are clearly the core of this
library, and yet they are relegated to second-class citizen: "Oh,
I guess you can use this". Normally, I wouldn't be so picky, but
this is a standard library. Focus should be on functionality.
Providing formatted output is a nice bonus, but to me, it's just
a bonus. Any benchmarking part of a large project is bound to
format the output itself (to log benchmark results against
revisions in a database or something like that).
Also, benchmark() and runBenchmarks() are kind of confusing at
first glance. Something along the lines of benchmarkModule() and
benchmarkAllModules() would be more sensible.