> In common queue.info() is the same as message.raw(). But as we cannot be sure instance's data is up-to-date we're ever call the API.

Not sure what that means.

I thought the entire point was that queue info was just a representation of the queue on the API. Or is that no longer the case? So why store queue information in the object at all? I still think returning an object is a better experience than returning a dict. It's easier to see what information will be returned, is more amenable to tooling, and is consistent across the library.