This also has a lot in common with the non parallel form of `run`, and will be a maintenance burden to keep in sync.