explain revert-or-swallow