The truly correct way to do this would be either:

 1. Return `NSNull` to indicate a `nil` value, and reserve actual `nil` strictly for errors.
 1. Return a `success` boolean in addition to the object result and `NSError`.