Hi

I will clarify my previous post, by making a stronger statement. Every Python object is an instance of a class.

I wrote: Let's proceed. We continue to use d = Dummy(). Given that
       >>> key = d[1, 2, 3, a=4, b=5]
is allowed, what should we be able to say about the key. Clearly it should be an instance of a class, and there should be a way of creating such an instance without going via d. Let's call the class K (for key).

I'll now expand on this, as it's not clear to everyone that the key should be an instance of a class.

So far I know, every Python object that is accessible to the Python user is an instance of a class (or type). In fact, the type command tells us the object's type.

    >>> [type(obj) for obj in (None, True, (), {}, [], type)]
    [<class 'NoneType'>, <class 'bool'>, <class 'tuple'>, <class 'dict'>, <class 'list'>, <class 'type'>]

Using d = Dummy(), where d's __getitem__(self, k) simply returns k, we write using the proposed new syntax
    >>> key = d[1, 2, 3, a=4, b=5]
and give this I suggest that
    >>> key2 = K(1, 2, 3, a=4, b=5)
should produce a key2 that is equal to key. Here
    >>> K = type(key)
should provide K.

I hope this helps clarify what I wrote. I also thank Alex Hall for providing helpful clarification, from a different point of view.

-- 
Jonathan