docs: def is_empty(self):
          """Returns True if the root node contains no child elements, no text,
          and no attributes other than **type**. Returns False if any are present."""
          non_type_attributes = [attr for attr in self.node.attrib.keys() if attr != 'type']
          return len(self.node) == 0 and len(non_type_attributes) == 0 \
              and not self.node.text and not self.node.tail