Introduces partial.stale? and then uses that to decide whether to update output file