it is not clear that `annihilation` returns a boolean. What about `is_annihilation` instead?