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)
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)
d[1, 2, a=3] = val -> d.__setitem__((1, 2), val, a=3)```