add a 'void* extra' parameter to the INVARIANT macros