Turned out that the old code was wrong. I'm not sure why it used to work.
`response.body` properly resolves to an async proc defined in the httpclient
module with the following signature:
proc body*(response: AsyncResponse): Future[string] {.async.}
Perhaps the old code was somehow matching the body field of the `AsyncResponse`
object, which is marked as private.