Check¶
Returns its first argument unless a message is emitted, in which case it returns the second argument.
A message counts as soon as it is generated. General::stop keeps the
fourth and later ones from being printed, but Check still reacts to them —
here the outer Quiet keeps the three printed ones out of the way:
A Quiet inside the Check does stop it; one outside does not:
Check reacts to messages, not to control flow, so a Throw passes
straight through it: