When we write with canOwn=true, we take the data in a typed array, and when we need to resize, we allocate a new. The code doesn't really care if we are owning or not - if we are, then we just skip the initial copy in the write function, and if not, we make a copy. The new code is as optimal as before, we never really needed a mode flag to track whether we own, since we only care about that inside the write function locally, which the canOwn boolean tells us.

The CONTENT_OWNING flag did not seem to really signal ownership, it just signalled if the existing data could be used, or if a copy had to be made. After new data is written, we always need to make a copy to make more space, so it doesn't matter if the initial data was CONTENT_OWNING or not, since it did not actually signal memory allocation ownership.