Rather than re-using AssertException, it felt more correct to create a new special-purpose exception.
(1) unreachable code in for loop shenanigans is eliminated. (2) code after a failing REQUIRE check no longer executes. Used a decorating TestReporter to achive this.