When wrapper.Wrap was put into place, the argument going into it was no longer part of a closure but was instead evaluated at function call time. As a result this would create 197 extra goroutines and channels on startup - one for each command using wrapper.Wrap. Among other things this made stack traces much more difficult to parse.