With ARC/ORC it seems as though Nim, like python and Objective C, now has a memory model that plays very nicely with C and C++.
What's notable about both of these other languages is the extent to which they are both used as direct extension languages of C and C++ (and vice versa with Python where C is used as an extension language).
TL;DR
Would it be possible to support interfacing with C++ code in a way that would allow for very efficient "bridgeable" types such that the cost of marshaling between languages could be dramatically reduced.
Targets of opportunity would include basic types like strings, collection types, tuples, and could extend to areas like optionals or variants.
Not sure that pointer types could be made to work seamlessly with ARC/ORC but that would be very handy.
Allowing Nim to serve as a very high performance type and memory safe co-language to C/C++ code bases which are currently using less performant "extension" languages like python or C# would be highly useful. Since Nim compiles to C/C++ code, has a C/C++ compatible memory system, can build with the same infrastructure as C/C++, and can share the same debugger and debugging experience, this seems practical and advantageous.
(Note: I'm the author of the lldb debugger visualizers posted on r/nim a while ago. I was investigating Nim for this kind of use.)
Would it be possible to support interfacing with C++ code in a way that would allow for very efficient "bridgeable" types such that the cost of marshaling between languages could be dramatically reduced.
Yes, that's one of ORC's advantages.