Multimap is backed by a HashMap, rather than a LinkedHashMap, so Multimap.keys returns an iterable with random iteration order. This seems inconsistent with Dart's default collections which all use insertion order for iteration; so can cause unexpected results and requires synchronisation with an additional collection when consistent ordering is required.