Yeah, I take the blame for that ;) It's not pretty, we should probably add some preprocessor sugar for this stuff. (Leaving it in this pull is of course fine.)