I am +0.5 on allowing this, unless I misunderstand the implications, this would still raise errors in the cases where an empty tuple was not an intended key/index/argument.
I can see that `obj` is less explicit than `obj[()]` but is no less clear (if it is allowed). However, I am only +0.5 because I am not sure how common a useful use case for `obj` would occur, so it is not all that much of an sugar coating.
That being said, I agree that allowing this would undoubtedly open the doors to "abuse" of this syntax in ways that `obj[()]` would not - that is, if it was allowed, people would find ways use it and be aware that an empty tuple is an allowed argument (which I believe will be possible regardless, yes?), whereas not allowing it may lead to less prevalent use of empty tuples as arguments (make of that what you will). Whether that "abuse" is really abuse or the exciting growth/usage of new syntax is debatable but I edge toward the latter as a mad pythonist myself.