I saved a workspace and ran 'xmllint' on it:
$ xmllint c01-sets.xml
c01-sets.xml:640: parser error : attributes construct error
<Token pc="1" tag="0x907" ufun-name="setcomp" symbol-level="0""/>
^
c01-sets.xml:640: parser error : Couldn't find end of Start Tag Token line 640
<Token pc="1" tag="0x907" ufun-name="setcomp" symbol-level="0""/>
^
<SI-entry level="4" pc="2" line="0">
<Statements>
<UCS uni="²(u setdiff a) seteq setcomp a⁰"/>
</Statements>
<Parser size="2" assign-pending="0" action="" lookahead-high="2">
<Token pc="1" tag="0x907" ufun-name="setcomp" symbol-level="0""/>
<Token pc="2" tag="0x56020011"/>
<Token pc="2" tag="0x56020011"/>
</Parser>
</SI-entry>
An xml reader written in Go also didn't like the extra quote after a quoted string.
Also, the Go parser flagged the nulls at the end of the file, although 'xmllint' didn't say anything about that.
-- Mike Hall