IMPORTANT CORRECTION! I was too eager to get to bed and made a mistake in the summary for the d[1, a=3] cases. The key here should be '1', not '(1,)'.

On Sun, Aug 30, 2020 at 12:45 AM Guido van Rossum <guido@python.org> wrote:
A quick summary of the proposal at the pure Python level:

```
d[1] -> d.__getitem__(1)
d[1,] -> d.__getitem__((1,))
d[1, 2] -> d.__getitem__((1, 2))
d[a=3] -> d.__getitem__((), a=3)
d[1, a=3] -> d.__getitem__((1,), a=3)

SHOULD BE:
d[1, a=3] -> d.__getitem__(1, a=3)
 
d[1, 2, a=3] -> d.__getitem__((1, 2), a=3)

d[1] = val -> d.__setitem__(1, val)
d[1,] = val -> d.__setitem__((1,), val)
d[1, 2] = val -> d.__setitem__((1, 2), val)
d[a=3] = val -> d.__setitem__((), val, a=3)
d[1, a=3] = val -> d.__setitem__((1,), val, a=3)

SHOULD BE:
d[1, a=3] = val -> d.__setitem__(1, val, a=3)
 
d[1, 2, a=3] = val -> d.__setitem__((1, 2), val, a=3)
```

--
--Guido van Rossum (python.org/~guido)