Should not depend on assert.h