code: function isPolynomialTermMultiplication(node) {
    // This concept only applies when we're flattening multiplication operations
    if (node.op !== '*') {
      return false;
    }
    // This only makes sense when we're flattening two arguments
    if (node.args.length !== 2) {
      return false;
    }
    // The second node should be for the form x or x^2 (ie a polynomial term
    // with no coefficient)
    const secondOperand = node.args[1];
    if (Node.PolynomialTerm.isPolynomialTerm(secondOperand)) {
      const polyNode = new Node.PolynomialTerm(secondOperand);
      return !polyNode.hasCoeff();
    }
    else {
      return false;
    }
  }
docs: Return true iff node is a candidate for simplifying to a polynomial term. This function is a helper function for getOperands. Context: Usually we'd flatten 2*2*x to a multiplication node with 3 children (2, 2, and x) but if we got 2*2x, we want to keep 2x together. 2*2*x (a tree stored in two levels because initially nodes only have two children) in the flattening process should be turned into 2*2x instead of 2*2*x (which has three children). So this function would return true for the input 2*2x, if it was stored as an expression tree with root node * and children 2*2 and x