anchor.diff:    print('root: ${root.toString()}');
     print('rootD: ${root.derive('x').toString()}');
     print('rootDsimpl: ${root.derive('x').simplify().toString()}');
  +  
  +  Expression negate = -exp;
  +  print(negate);
   }
   
   class Tokenizer {
  
positive.code:   Expression operator*(Expression exp) => new Times(this, exp);
    Expression operator/(Expression exp) => new Divide(this, exp);
    Expression operator^(Expression exp) => new Power(this, exp);
    
    /**
     * Derives this expression with respect to the given variable.
  
negative.code: 
  /**
   * Any Expression supports basic mathematical operations like
   * addition, subtraction, multiplication, division, power and negate.
   * 
   * Furthermore, any expression can be differentiated with respect to
   * a given variable.
  