Refine binary predefined function calls
Binary predefined calls always require parentheses due to left recursion and ambiguity issues, e.g. in `id = ( 1 + 1 )` , the parentheses are required. It should be possible to specify top-level expressions without parentheses, e.g. `id = 1+1`, but multiple expressions will require parentheses still, e.g. `id = 1 + (1 + 1)` (or grouping the first two instead `id = (1 + 1) + 1`). The possibility to use parentheses should be retained for compatibility.
issue