I'm thinking this condition should be `value == nil && error != nil`. This covers the case where `-tryMap:` maps to a `nil` value.