Non-coalescing Objective C++ OR macro for variable arguments and variable types including objects/primitives.