Objective-C categories on NSDictionary and NSArray that give you methods like `-(NSString *)stringForKey:` in addition to `-(id)objectForKey:`. These methods do all the necessary type checks inside and return nil if the object's class does not match. They will also create meaningful errors to help you debug your code. This can save you some typing when working with NSJSONSerialization or Plist deserialization, where you have dictionaries of unknown content.