To add to the above (and the linked post), there was a long-term goal to expose some sort of ‘meta-refs’ as in the ability to wrap an object into some sort of uniform metatable/proxy/dynamic object for deserialization elsewhere, but this’d have unknown performance characteristics that might have turned out to be remarkably problematic, so it never left the concept phase.
If you want to make such a thing yourself, you probably can, though - just keep in mind that you’d have to handle deserializing the object into a local language projection yourself (unless your favorite language exposes msgpack extension registration), it’d not have involved anything too different from __index, __newindex etc. and its equivalents in other languages exposed into a ‘ref function’ in the serialization ABI.