We have now added a CoW struct that we can use to wrap heavy structs and give them copy on write behaviour. @dynamicMemberLookup struct CoW { init(_ value: T) { _storage = Storage(value) } public subscript(dynamicMember keyPath: WritableKeyPath) -> V { get { value[keyPath: keyPath] } set { value[keyPath: keyP...