An NSObject category to make working with unknown types much easier