Ah, I see. This seems to be an odd quirk of the parser. I don't really see a good reason for this - it seems peculiar to me.
Replace '(-40) with list(-40) and it will then work fine.
You can see this directly if you do:
'(-40) => -40'(40) => (40)
I'll have a chat with R&D about this. I think it's been this way forever though!