What is the logic behind having a mutable and immutable versions of classes like NSArray, NSDictionary etc in Objective C? What is the logic behind having a mutable and immutable versions of classes like NSArray, NSDictionary etc in Objective C? objective-c objective-c