implicitAnnouncementGrouper : object
By default, we keep only the first of a group of failures. A group of failures is always recursively related, so the first announcement refers to the command that actually failed; the rest of the announcements are for the enclosing actions that triggered the first action. All of the enclosing actions failed as well, but only because the first action failed.
Announcing all of the actions is too verbose for most tastes, which is why we set the default here to nil. The fact that the first action in the group failed means that we necessarily won't carry out any of the enclosing actions, so the enclosing announcements don't tell us much. All they really tell us is why we're running the action that actually failed, but that's almost always obvious, so suppressing them is usually fine.