Assert is useful for for embedding runtime sanity checks
in code.
The predicate methods all test a condition and throw some
type of unchecked exception if the condition does not hold.
Assertion failure exceptions, like most runtime exceptions, are
thrown when something is misbehaving.