Ah, so this comment is out-of-date.  We changed it to use objects when James Lal added on-demand body fetching.  Now it's just an array of BodyPartInfo objects which are self-descriptive via the 'type' attribute.  I'll update it.

The original reason for this was basically just premature optimization.  I think I was overly concerned about the cost of structured clone encoding the attribute names.  This felt dubious while I did it, and it was totally clear by the time James got to it.  And our block storage hack addresses the problem anyways (probably :).