Make progress generate some explanation of how it came to be, printing out is hidden
Split out the functions with render the progress from those that calculate it, ensure invalid values are ???'d out
Make progress messages more tollerant to NaN
Make the seconds an input derived from the clock, rather than assuming each tick is equally spaced
Add a swap function
Write a pure function to compute progress results
Write the progress test on top of progressTest, now far simpler
Delete the progressDisplayTester method
Rename progressTest to progressReplay
Refactor the progress stuff now that progressDisplayTest is gone
Split out the HTML templating into a separate module, so progress can reuse it
Make formatMessage definitely show ?? for NaN, don't rely on how NaN is converted to Int
Remove an unused pragma
Make Progress have a Read instance, for the progress replay stuff
Make progressDisplay more accurate, assuming that fetching the progress may pause for a small amount of time waiting for the lock, then quickly get the current values
Add progressAnalyse, to analyse historical progress results