docs: def encode_passage(passage):
      """Encode a single passage."""
      tree = etree.Element('passage')
      encode_infons(tree, passage.infons)
      etree.SubElement(tree, 'offset').text = str(passage.offset)
      if passage.text:
          etree.SubElement(tree, 'text').text = passage.text
      for sen in passage.sentences:
          tree.append(encode_sentence(sen))
      for ann in passage.annotations:
          tree.append(encode_annotation(ann))
      for rel in passage.relations:
          tree.append(encode_relation(rel))
      return tree