Is there a reason we do a `.seek(0)` and `.read()` here rather than just doing `.getvalue()`?