If anybody asks, you didn't hear it from me. ![]()
As with all underscored APIs, it is not overly generous when it comes to making documented guarantees. In practice, I believe retaining the returned owner will be detected as sharing by COW (so it will still protect you against overlapping writes and enforce value semantics on the Swift side), but Array does lots of magic that isn't available to other Swift types, so it's hard to know for sure.
I think it would be cool to have a (pointer, owner) abstraction for sharing contiguous buffers without copying. Ideally generics would make things agnostic to specific data types, but in practice lots of things are still written in terms of Array, or String, and it would be nice to pass data to them without copying.