The widespread use of copy-on-write value types in Swift has generally been a success. It does, however, come with some drawbacks: Reference counting and uniqueness testing do impose some overhead. Reference counting provides deterministic performance in most cases, but that performance can still be complex to analyze and predict. The ability to copy a value at any time and thus "escape" it forces

