Standards-defying functional-programming macros for the C preprocessor