I see what you're saying now.  I think I still need the wait group to return multiError.  For any non-multi errors, I can return immediately with the error.

I need the wait group to return multiError since each goroutine will be processing a new section of multiError.  If I return multiError because they're done, then they could be writing to multiError (and the dst slice) while the application is processing it.