Note the detail that + a b c and eq? a b c don't do the exact same thing: + a b c is equivalent to (a + b) + c eq? a b c is equivalent to (a == b) && (b == c)
The list form has short circuiting if I remember right (eq? bails out on the first false it finds), but I don't remember how evaluation works for the arguments, in terms of what side effects are meant to observable when early-out happens L >