Wrap returns err unchanged for matching with errors.Is and errors.As, but silent at the root
error handler. Use it only after the failure was rendered through the UI channel or a report.
A nil error stays nil, and an error that is already reported is not wrapped twice.