As the subject says: I wonder why PonyMail uses a separate type to hold the raw source corresponding to an e-mail?
Could it not have been added as a separate field in the mbox type? This would have required a bit of extra filtering, but that could have been encapsulated in common code. Also, given that there is a separate type for the raw source, it seems odd that it does not include the fields needed to authorize access (i.e. list_raw and private). That would avoid having to check the mbox document before downloading the mbox_source doc. Though again, such access to mbox_source could have been encapsulated.
