public IEnumerator <KeyValuePair <K, V> > GetEnumerator()
        {
            HashSet <KeyValuePair <K, V> > dupSet = new HashSet <KeyValuePair <K, V> >(
                EqualityComparerExtensions.FromValueSelector <KeyValuePair <K, V> >(kvp => kvp.Key));

            IEnumerable <KeyValuePair <K, V> > elements = Immutable
                                                          .Concat(Adaptee);

            foreach (KeyValuePair <K, V> kvp in elements)
            {
                if (dupSet.Add(kvp))
                {
                    yield return(kvp);
                }
            }
        }