prefer <assert> instead of <assert.h>