In the broader scheme, it seems perverse to be using CPP in the first
place. I use it to configure imports and exports, e.g. to swap out a
driver backend on different OSes, and to export more symbols when
testing. Would it make sense to have a haskell version of CPP that
provides only these features (e.g. just #ifdef, #else, #endif, and
#define) and leaves out the problematic C comments and backslash
expectations?