code: def set(self, index, value):
          
          nodes = parse_anything(value).nodes
          if len(nodes) > 1:
              raise ValueError("Cannot coerce multiple nodes into one index")
          if index >= len(self.nodes) or -1 * index > len(self.nodes):
              raise IndexError("List assignment index out of range")
          if nodes:
              self.nodes[index] = nodes[0]
          else:
              self.nodes.pop(index)
docs: Set the ``Node`` at *index* to *value*.
  
          Raises :exc:`IndexError` if *index* is out of range, or
          :exc:`ValueError` if *value* cannot be coerced into one :class:`.Node`.
          To insert multiple nodes at an index, use :meth:`get` with either
          :meth:`remove` and :meth:`insert` or :meth:`replace`.