Unfortunately, the implementation is buggy and makes the last appearance
win. That's easy to fix for alist->bag, but tricky for alist->bag!,
where we want the first appearance *in the alist* to win, beating both
later appearances and any existing entry. Suggestions?