i'd say that it's a bit more readable:
run(() => { return foo })
looks better than, and assuming pre-existing knowledge of what `run` does, is more understandable than (() => { return foo })()
but this is also a fairly contrived example