@property (strong) NSArray<Item *> *items; // 의도치 않은 공유가 일어날 수 있다.
@property (copy) NSArray<Item *> *items;

- (NSArray<Item*> *items {
	NSMutableArray *items = [[ NSMutableArray alloc] init];
	[self buildItems: items];
	
	// items를 그대로 반환하지 말고, copy해서 반환하라
	return [items copy]
}

aNSArray as? [Any] // copy가 일어난다.

var bytes = [oxcf, 0xfa, 0xed, 0xfe] // 과거
var bytes = Data(bytes: [oxcf, 0xfa, 0xed, 0xfe]) // 현재

var buffer = malloc(250).assumingMemoryBound(to: UInt8.self)
defer { free(buffer) } // 과거
var buffer = Data(count: 250)

let header = buffer.subdata(in buffer.startIndex..<buffer.startIndex.advanced(by: 4)) // 과거, 복사가 일어남
let header = buffer[..<buffer.startIndex.advanced(by: 4)] // 복사 없음