improve overload resolution
hot fix clang undefined __extern_always_inline macro