A recursive C preprocessor macro which performs an operation on each element of a list