This came as a surprise to me initially.  I was about to write how the implications of using a raw http.Response as the return type of the requests.go functions meant that we need to re-issue the server request after every accessor used on the return data.  Then, it occurred to me, this is just how the Storage API is built, and is not reflective of other OpenStack APIs.

To help manage expectations of the users of the API who might not know the details, I think it'd be a good idea to remind the users somewhere in the package's "doc.go" file (or create one if none exists now) that this is the case for technical reasons related to the API itself.  That way, if anyone complains about an API inconsistency, we can point back to the docs and say, "Hey, we know already, and you need to read the docs more carefully."  ;-)