Side note: I'm not totally clear what a multiset offers compared to a Map<A, List<B>> for example. Any thought?