anchor.diff:    static const TokenType MINUS = const TokenType._internal("MINUS",1,operator:true);
     static const TokenType TIMES = const TokenType._internal("TIMES",2,operator:true);
     static const TokenType DIV = const TokenType._internal("DIV",2,operator:true);
  -  static const TokenType POW = const TokenType._internal("POW",3,operator:true);
  +  static const TokenType POW = const TokenType._internal("POW",3,leftAssociative:false,operator:true);
     static const TokenType UNMINUS = const TokenType._internal("UNMINUS",5,leftAssociative:false,operator:true);
   
     // Functions
  
positive.code:           outputStream.add(operatorBuffer.removeLast());
          }
          
          // Remove left parenthesis
          if(!operatorBuffer.isEmpty && operatorBuffer.last.type == TokenType.LBRACE) {
            operatorBuffer.removeLast();
          } else {
            throw new StateError('Mismatched parenthesis.');
          }
          
  
negative.code:         }
          continue;
        }
        
        /* 
         * If the current token is an operator and it's priority is lower than the priority of the last
  