review related fixes

run_or_fail won't emit any output in the failure case here, since it emits its error message to stdout. It'd be better to have it emit to stderr, like so:

  echo $explanation 1>&2