I probably also need to take Counter() more seriously but I have shied away from it until now, fearing that it might be more focussed on 'counting' than on 'multiset operations'
I think you correct about that — Counter can be a way to build a multiset, but not do anything with it.
(i.e. such as the API here: https://multiset.readthedocs.io/en/stable/).
It seems that’s just what you want. Honestly, despite the idea of “batteries included”, it is very common these days to need a third party lib.
If that package meets your needs, then great. If it’s lacking in some way, then suggest (better yet, contribute) improvements.
If you still think that package, or something like it, should be in the stdlib,
Then you’ll need to make the case that it’s a commonly enough used feature to justify addition to the stdlib.
For my part, I don’t think I’ve ever had a need for a multiset - so a third party lib is fine.
I have no idea if I’m unusual, but that’s the case you’d need to make.
-CHB