This makes me far more concerned about the free-function design. If I am trying to call a sibling run method defined in my own codebase, I have to find it among 16 other unrelated functions in the autocomplete menu? That seems egregious.
Given that the motivation for a top-level run function is scripting, I think we should be honest about the current state of Swift as a scripting language: it’s not great. As has been noted frequently on this forum, top level code is quirky and often buggy.
Rather than add these 16 overloads to the global namespace of any file that imports Subprocess, maybe a future effort to holistically improve the Swift scripting experience could re-expose the static Subprocess.run methods as free functions via a dedicated Scripting module. But for now, it seems unnecessary and incongruent with existing practice to expose the entry point to this functionality with free functions.