Надеюсь, что на вас не повлиял язык C, приоритет оператора присваивания = выше, чем у оператора Comma ,. Не думайте, что это (a), (b = b), (a + b). Это назначение кортежа, что означает (a, b) = (b, a + b).
=
,
(a), (b = b), (a + b)
(a, b) = (b, a + b)