Wrong useless parenthesis elision
@victor found a severe bug in parenthesis elision. The use case is the following
cout << " - 2 + 3 = "<< - 2 + 3 << "\n";
cout << "(- 2 + 3) = "<< (- 2 + 3) << "\n";
while these two piece of code should produce the same result, one gets the following output
- 2 + 3 = 1
(- 2 + 3) = -2