то, что происходит в C++, где опять нужно какое-нибудь завихрение шаблонов придумать, чтоб shared_ptr разрешить быть механизмом захвата замыканий, крайне нерелевантно всему остальному миру, где не тратят время на такие условности
я всяких гибридов C++ пересмотрел, начиная с Direct2SOM C++ и заканчивая C++/CX, и лучше всего работал подход, когда иерархия родных C++ объектов стоит параллельно включаемой иерархии, не родной для C++
пошёл бы C++ сразу в направлении C++/CX, вот его бы и с Delphi, и с Objective-C, и с .NET можно было бы не гибридизировать, а именно транслировать в общую объектную модель