Rather than re-using AssertException, it felt more correct to create a new special-purpose exception.