I tried pretty hard to get vim to produce "errorbells" of any kind, but did not have success.
I wanted to know whether vim considered `U` (which clearly sometimes in vim has no effect) to have failed.

On the other hand, I think vim documentation does say that `U` **always** marks the buffer dirty, and so we could infer that it that case it performs a "no change swap" and in fact always succeeds.

That works for me and I'll make that change.