#define ID(X) X #define APPLY(F : [.], X) F (* intentionally forgetting to apply F *) APPLY(ID, 42)