KASSERT(!rw_lock_held()) just before rw_destroy() is useless because rw_destroy does more strict check and provides better information on failure.