(If we're getting technical with the statements, I think assert() fits here the best, as it is not an "axiom for a static checker." Both throw AssertionErrors and are elided if compiled without assertions. Additionally, `assert(!destroyed)` is probably sufficiently clear, as it should never happen save during development and it's pretty clear from reading the code why it does happen.)