This library can be used to display a progress bar or
other live diagnostics for your application. It supports partial
updates from multiple threads without interfering with each other,
and it has the correct behaviour when printing diagnostics that are
not part of the progress bar and should just scroll by.
The System.Progress module contains a tutorial.