In order to allow unity builds we need to avoiding "using namespace" at file scope, #undef our file-specific #defines, and avoid having static functions with identical name and signature.