require
In contrast to `assert` and similar functions, `require` works in no-assert builds the same way as in debug builds. It can be used to check invariants also in release builds.