Of course not, in this case the parentheses reduce the amount of code, and thus readability and speed. I never said they are evil

When I wrote that I was thinking of code like:

[pascal]
else if (rd.typ=stringdef) or
(ld.typ=stringdef) or
((is_pchar(rd) or is_chararray(rd) or is_char(rd) or is_open_chararray(rd) or
is_pwidechar(rd) or is_widechararray(rd) or is_widechar(rd) or is_open_widechararray(rd)) and
(is_pchar(ld) or is_chararray(ld) or is_char(ld) or is_open_chararray(ld) or
is_pwidechar(ld) or is_widechararray(ld) or is_widechar(ld) or is_open_widechararray(ld))) then
[/pascal]

(citation from FPC source). When you are working with code like this the parentheses, especially if, while editing, they get wrong indentation or end up on the wrong line, it can become a time consuming puzzle to get your expression right.