ds">API functions</a> should be isolated from
    the details of the metadata formats (otherwise the interface turns into a giant
    hairball, like the metadata).</li>
<li>Maintain flexibility to allow users the freedom to do what they want.</li>
<li>Design the code to be efficient for batch processing, even if it increases the
    initial overhead.</li>
<li>When writing files, remember 3 things: 1) data integrity, 2) data integrity, and
    3) data integrity.  If you can't do it right, don't do it at all.