Question: What does not ('symbol') mean?

I recently found this piece of code while using showstat:

if type(i,{'symbol', not ('symbol')}) then
...
end if

At first glance, this felt strange to me, because it looked like if we were checking whether "i" was of the "symbol" type or of a type other than "symbol", and therefore the test was still true.

Doing a simple test I obtain this

if type(s,{'symbol', not ('symbol')}) then "TRUE" else "FALSE" end if;
                             "TRUE"
if type(cos(c),{'symbol', not ('symbol')}) then "TRUE" else "FALSE" end if;
                            "FALSE"

Could you explain me what  not ('symbol') really means?

TIA

Please Wait...