When packaging msgpack into a C++20 module (by #include of msgpack in the
global module fragment and then `export using ...;` for relevant names),
MSVC (VS 17.13.5) reports the following:
```
error C2504: 'msgpack::v2::object': base class undefined
```
This is apparently due to with_zone being a nested type of msgpack::object;
in order to work around this problem, with_zone is replaced with an alias
to a struct defined outside of msgpack::object.
MSVC CLI defined their own nullptr and provides for __nullptr for standard C++11.
https://msdn.microsoft.com/en-us/library/4ex65770.aspx
msgpack-c introduce MSGPACK_NULLPTR for internal use, it is defined as __nullptr only if compiled on C++ CLI otherwise defined as nullptr.