Returns a new map without the given keys.
keys
Map<K, V> omit(Iterable<K> keys) { final excluded = keys.toSet(); return {...this}..removeWhere((key, value) => excluded.contains(key)); }