That sentence is ... exceptional?

Yep, yep. I already cringed at the double except and now I notice the "Except for the exceptions" 🙈

  Except as explained below, an implicit tt(return) statement is
executed following the same logic described for tt(ERR_EXIT).

Awesome! So much better. 

>> If tt(ERR_RETURN) and tt(ERR_EXIT) are both set, the latter takes
>> precedence. Hence, exit rather than return is triggered when a command
>> has a non-zero exit status.

Does this need to explain the interaction of the cases where ERR_EXIT
is ignored but ERR_RETURN is not?  As written it seems to imply that
exit would always occur in the cases where it would otherwise be a
return.

Good point. I rephrased as follows: 

If tt(ERR_RETURN) and tt(ERR_EXIT) are both set, it may happen that
both exit and return should be triggered. In that case only exit is
triggered.

This implicitly covers the special case. I hope it's not necessary to explain it explicitly as it's a rather corner case and it would significantly increase the length of the explanation.

Philippe