Will XmlElement/Fragment/Text not be persisted?

Strange…

During my studies, I ran across the situation, that I created some top-level XmlElement/Fragment/Text entries

  const sharedDoc = new Y.Doc()
  const Persistence = new IndexeddbPersistence('Yjs-Test-Content',sharedDoc)
  const sharedXMLElement  = sharedDoc.get('sharedXMLElement', Y.XmlElement)
  const sharedXMLFragment = sharedDoc.get('sharedXMLFragment',Y.XmlFragment)
  const sharedXMLText     = sharedDoc.get('sharedXMLText',    Y.XmlText)

  console.log('sharedDoc',sharedDoc) // "share" contains the above entries

but later, when I tried to inspect the persistence

  const sharedDoc = new Y.Doc()

  const Persistence = new IndexeddbPersistence('Yjs-Test-Content',sharedDoc)
  Persistence.on('synced', () => {
    console.log('sharedDoc',sharedDoc) // "share" lacks the above entries
  })

these entries were missing.

Will Y.XmlElement/Fragment/Text not be synced?

I think I got it: empty XmlElements/Fragments/Texts do not seem to be persisted - you have to insert s.th. first, like so

  const sharedDoc = new Y.Doc()
  const Persistence = new IndexeddbPersistence('Yjs-Test-Content',sharedDoc)
  const sharedXMLElement  = sharedDoc.get('sharedXMLElement', Y.XmlElement)
    sharedXMLElement.insert(0,[new Y.XmlText()])
  const sharedXMLFragment = sharedDoc.get('sharedXMLFragment',Y.XmlFragment)
    sharedXMLFragment.insert(0,[new Y.XmlText()])
  const sharedXMLText     = sharedDoc.get('sharedXMLText',    Y.XmlText)
    sharedXMLText.insert(0,'Test')