turns out define* (and thus ##define) doesn't allow internal defines