The to_dict() function does not properly serialize the whole object, since lists that could potentially contain StripeObjects are passed through as-is. A good example is the Invoice object, invoice['list']['subscriptions'] is still a StripeObject.
Since this stuff is all mechanical, it should be pretty easy to write unit tests for, too.
Add tests for #17 and #18
Hmm, looks like these didn't get auto-closed. In any case, thanks for the bug reports and the fixes. I've just released v1.7.2 with the fixes.