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