Fix bad alignment
Use `assert_predicate` wherever possible

For improved error messages
Add `{assert,refute}_predicate`