assert() which always does assertion checking
unless "NDEBUG" is defined.
KASSERT() which does assertion checking if DIAGNOSTIC
is defined.
KDASSERT() which does assertion checking if DEBUG is
define. This macro exists for compatibility
with existing ports' assertion checking macros.
(Assertion checking is not typically an
"expensive" operation, and DIAGNOSTIC should be
used for inexpensive consistency checks.)