If you have chained assignments then I don't understand why you'd even need a separate operator. It wasn't that bad in C and it's far from python's biggest problem tbh. 😅,(reply>), I would have thought the problem in C was that something like "if (x = 5)" which should have been "if (x == 5)", but the walrus wouldn't have that issue because := != ==.<br>Ironically c++17 actually made declarations in the if statement easier so now you can do "if (int x = myFunc(); x &gt; 5)".,(reply>), I share your puzzlement. I guess the reason why they felt a new operator was needed was to avoid compatibility issues... (?)