do you want to abort when these invariants are violated for user based tools i usually prefer a warning unless the error is fatal  but it might be better to make this fatal so we can catch any errors handling one of these sections 