The previous Async fixes assumed that the shape of the response would always match what was requested. That is not always true. If you make a Sync request, but it runs too long snowflake may choose to return an Async response to check back later for the results. Also if you run GetResults and the data isn't ready yet, it needs to be able to handle yet another Async status response without data.