Found this while running `./vagrant box` with no args to get the help output. It turns out you can have an empty RunResult but also a nil error. I took the occasion to unwind the conditional tree a bit which hopefully makes it a bit easier to read.