I would like to use your benchmar utils to replace my bad ad-hoc solution here https://observablehq.com/d/507ab3f69d80ffb9?ui=classic
However, since it's a sorting benchmark I need to randomize the input before each run. I can imagine other types of benchmarks where preparation, or clean-up after the run, is necessary. How about adding support for optional before/after properties to the experiment objects? They could be callbacks (like run is now) that lets us prepare data or maybe do clean-up afterwards (I don't need the latter but I can imagine there being use-cases for it)