Although I agree that the angle you are referring to is most common one, but I think there are exceptions.
Motivation “it is highly wanted and being asked for” is and should be dominant, but approaching extensions from different angle can be appropriate for cases when it is sensible.
There are many examples of different motivations: performance, consistency, beauty (which is by the way the first line of Python Zen).
In this case motivation is a bit unique.
Namely, OrderedDict
has become pretty much obsolete since builtins.dict
is now preserving order.
There is only one case, where OrderedDict
needs to be used - when move_to_end
needs to be called with both last=True
and last=False
on the same object.
So OrderedDict
is now pretty much obsolete. And it is a shame as it is well optimised object and I think people have put a fair amount of effort into it. And if something can be done with the fraction of effort that has already been put in to extract more value from it, then why not find out?
So 2 options:
a) do nothing
b) explore possibilities
(a) is sensible. It will either slowly die and be forgotten or some needs will surface and it will be revived without premeditative effort.
However, (b) is also an option. It is not that uncommon that people simply don’t get an idea of needing something until it becomes available. And when it does, everyone is happy that it makes things better.
While I agree that concrete needs of users should be a priority, I don’t see anything wrong by developers investigating what users might need before users know it themselves.
And I don’t think this thread is pushing anything blindly and is rather at investigation stage.
It is very slow moving, however.
By now, at least to me, it is clear what extensions are possible and a rough idea of API directions (2 rough paths have been suggested).
I guess the next stage is to find out whether some of the features could solve existing problems more elegantly.
Also, I agree that all proposed APIs have sharp corners that would need to be smoothed out.