No, Obj-C/Swift use something more akin to C++'s `shared_ptr` and `weak_ptr`, as evidenced by the fact that cyclic references may result in memory leaks in each system. This is precisely the problem that `internal_ptr` seeks to resolve.
Ahh, rereading more carefully, I think I see. You could have a chain of objects connected by internal pointers, and they'd all be kept alive as long as the first object is strongly referenced, but that wouldn't work for weak pointers.