Good question. I had initially created this as a subclass of `NSMutableDictionary` and the signature `addObject:(id)object` was an override. I can probably just force a type in the signature and get rid of the throw.

Which do you think is more helpful to developers: compile-time warnings or run-time errors?