First is backward compatibility. Second, queue info is not queue representation. Just parsed response from API on queue state. It's better to return object with both `q_info.size` and `q_info['size']`.

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.