Todd wrote:

Only Jonathan seems to want to do it differently.  We are trying to find out exactly why he prefers this approach.  So far the only advantage I have seen is that it is easier to experiment with.

I think it's good to make experiments before making a decision. That's where I'd like us to do next. Let's learn from shared experience.

By the way, using
    >>> d[o(1, 2, a=3, b=4)]
for a suitable 'o' and item function decorator has I believe all the capabilities of any scheme proposed (for a suitable 'o' and decorator).

I'd rather make my case by doing experiments using various values of 'o' (and the associated function decorator).