lens <TKey, TValue>( this ImmutableDefaultDictionary <TKey, TValue> d, TKey key) => d.lens[key];
ChainLens <TKey, TValue, Whole>( this ImmutableDefaultDictionary <TKey, TValue> hole, System.Func <ImmutableDefaultDictionary <TKey, TValue>, Whole> wrap) => new ImmutableDefaultDictionaryLens <TKey, TValue, Whole>(wrap: wrap, oldHole: hole);