Map and Set.UnmodifiableMapView from the Dart core libraries.isValidKey arguments of CanonicalizedMap.QueueList class that implements both Queue and List.CanonicalizedMap class that canonicalizes its keys to provide a custom equality relation.Add a MapKeySet class that exposes an unmodifiable Set view of a Map's keys.
Add a MapValueSet class that takes a function from values to keys and uses it to expose a Set view of a Map's values.