anchor.diff:        expect(evaluator.parse('1 - 2 - 3 - 4').value, closeTo(-8, epsilon));
         expect(evaluator.parse('1 - 2 - 3 - 4 - 5').value, closeTo(-13, epsilon));
       });
  +    test('sub parse', () {
  +      expect(parser.parse('1 - 2 - 3').value, [[1, '-', 2], '-', 3]);
  +    });
       test('mul', () {
         expect(evaluator.parse('2 * 3').value, closeTo(6, epsilon));
         expect(evaluator.parse('2 * -4').value, closeTo(-8, epsilon));
  
positive.code:       expect(evaluator.parse('1 + 2 + 3 + 4').value, closeTo(10, epsilon));
        expect(evaluator.parse('1 + 2 + 3 + 4 + 5').value, closeTo(15, epsilon));
      });
      test('sub', () {
        expect(evaluator.parse('1 - 2').value, closeTo(-1, epsilon));
        expect(evaluator.parse('1.2 - 1.2').value, closeTo(0, epsilon));
  
negative.code:       expect(evaluator.parse('1 * 2 * 3 * 4').value, closeTo(24, epsilon));
        expect(evaluator.parse('1 * 2 * 3 * 4 * 5').value, closeTo(120, epsilon));
      });
      test('mul parse', () {
        expect(parser.parse('1 * 2 * 3').value, [[1, '*', 2], '*', 3]);
      });
      test('div', () {
        expect(evaluator.parse('12 / 3').value, closeTo(4, epsilon));
        expect(evaluator.parse('-16 / -4').value, closeTo(4, epsilon));
  