- realign \ at end of macro lines - use 'using A = B;' rather than 'typedef B A;' - use conditional_t