the example states "expressions will be evaluated in the arithmetic order of their suffixes"
but for the line: `expr1(expr2, expr3, *expr4, **expr5)` this is not true - or at least misleading.
were the outer 'expr1' was labeled 'func'
the actual order should be (if I'm not totally mistaken): expr5(expr1, expr2, *expr3, **expr4)
the simple program:
def expr(*args, **kwargs):
print(*args, *(zip(kwargs.keys(), kwargs.values())))
expr(expr("1"), expr("2"), expr("3"), d=expr("4"))
returns:
1
2
3
4
None None None ('d', None)