docs: def insert(self, i, x):
          """Insert an item (x) at a given position (i)."""
          if i == len(self):  # end of list or empty list: append
              self.append(x)
          elif len(self.matches) > i:
              # create a new xml node at the requested position
              insert_index = self.matches[i].getparent().index(self.matches[i])
              _create_xml_node(self.xast, self.node, self.context, insert_index)
              # then use default set logic
              self[i] = x
          else:
              raise IndexError("Can't insert '%s' at index %d - list length is only %d" \
                              % (x, i, len(self)))