code: function makeCommonDenominator(node) {
    const newNode = clone(node);
  
    const denominators = newNode.args.map(fraction => {
      return parseFloat(fraction.args[1].value);
    });
    const commonDenominator = math.lcm(...denominators);
  
    newNode.args.forEach((child, i) => {
      // missingFactor is what we need to multiply the top and bottom by
      // so that the denominator is the LCD
      const missingFactor = commonDenominator / denominators[i];
      if (missingFactor !== 1) {
        const missingFactorNode = Node.Creator.constant(missingFactor);
        const newNumerator = Node.Creator.parenthesis(
          Node.Creator.operator('*', [child.args[0], missingFactorNode]));
        const newDeominator = Node.Creator.parenthesis(
          Node.Creator.operator('*', [child.args[1], missingFactorNode]));
        newNode.args[i] = Node.Creator.operator('/', [newNumerator, newDeominator]);
      }
    });
  
    return Node.Status.nodeChanged(
      ChangeTypes.COMMON_DENOMINATOR, node, newNode);
  }
docs: Takes `node`, a sum of fractions, and returns a node that's a sum of fractions with denominators that evaluate to the same common denominator e.g. 2/6 + 1/4 -> (2*2)/(6*2) + (1*3)/(4*3) Returns the new node.