anchor.diff:     *
      * 1. a + 0 = a
      * 2. 0 + a = a
  +   * 3. a + -(b) = a - b
      */
     Expression simplify() {
       Expression firstOp = first.simplify();
  
positive.code:    *
     * 1. a - 0 = a
     * 2. 0 - a = a
     */
    Expression simplify() {
      Expression firstOp = first.simplify();
  
negative.code:     if (_isNumber(secondOp, 0)) {
        return firstOp;
      }
      
      if (secondOp is UnaryMinus) {
        return firstOp - secondOp.exp; // a + -(b) = a - b
      }
  
      return new Plus(firstOp, secondOp);
      //TODO -a + b = b - a
  