code: def add_root(self, root, **attrs):
          '''
          API: add_root(self, root, **attrs)
          Description:
              Adds root node to the tree with name root and returns root Node
              instance.
          Input:
              root: Root node name.
              attrs: Root node attributes.
          Post:
              Changes self.root.
          Return:
              Returns root Node instance.
          '''
          attrs['level'] = 0
          self.root = self.add_node(root, **attrs)
          return self.roof add_root(self, root, **attrs):
          '''
          API: add_root(self, root, **attrs)
          Description:
              Adds root node to the tree with name root and returns root Node
              instance.
          Input:
              root: Root node name.
              attrs: Root node attributes.
          Post:
              Changes self.root.
          Return:
              Returns root Node instance.
          '''
          attrs['level'] = 0
          self.root = self.add_node(root, **attrs)
          return self.root
docs: API: add_root(self, root, **attrs)
          Description:
              Adds root node to the tree with name root and returns root Node
              instance.
          Input:
              root: Root node name.
              attrs: Root node attributes.
          Post:
              Changes self.root.
          Return:
              Returns root Node instance.