code: function addNegativeOneCoefficient(node) {
    const newNode = clone(node);
    let change = false;
  
    let changeGroup = 1;
    newNode.args.forEach((child, i) => {
      const polyTerm = new Node.PolynomialTerm(child);
      if (polyTerm.getCoeffValue() === -1) {
        newNode.args[i] = Node.Creator.polynomialTerm(
          polyTerm.getSymbolNode(),
          polyTerm.getExponentNode(),
          polyTerm.getCoeffNode(),
          true /* explicit -1 coefficient */);
  
        node.args[i].changeGroup = changeGroup; // note that this is the "oldNode"
        newNode.args[i].changeGroup = changeGroup;
  
        change = true;
        changeGroup++;
      }
    });
  
    if (change) {
      return Node.Status.nodeChanged(
        ChangeTypes.UNARY_MINUS_TO_NEGATIVE_ONE, node, newNode, false);
    }
    else {
      return Node.Status.noChange(node);
    }
  }
docs: Given a sum of like polynomial terms, changes any term with a unary minus coefficient into a term with an explicit coefficient of -1. This is for pedagogy, and makes the adding coefficients step clearer. e.g. 2x - x -> 2x - 1x Returns a Node.Status object.