docs: def encode_document(document):
      """Encode a single document."""
      tree = etree.Element('document')
      etree.SubElement(tree, 'id').text = document.id
      encode_infons(tree, document.infons)
      for passage in document.passages:
          tree.append(encode_passage(passage))
      for ann in document.annotations:
          tree.append(encode_annotation(ann))
      for rel in document.relations:
          tree.append(encode_relation(rel))
      return tree