In the case of both the return value and the error being `nil`, that doesn't semantically seem like an error case, that seems like mapping to `nil`. If error is `nil`, how could that possibly indicate an error?

There are two cases to consider, `-tryMap:` calling a conventional Apple method, and `-tryMap:` implementing its own logic. In the later, if a block doesn't assign an error, and returns `nil`, that seems like mapping to `nil`. For the former, calling a conventional Apple method, is it even a concern that it would return `nil` while also not assigning an error? Are there any methods that do that as a matter of course?