Reminder: we use text/plain because text/csv is awkward.