// void Add(T item)
        internal void Add <K, V>(KeyValuePair <K, V> item)
        {
            object _this = Unsafe.As <object>(this);

            if (_this is IDictionary <K, V> _this_dictionary)
            {
                _this_dictionary.Add(item.Key, item.Value);
            }
            else
            {
                IVector <KeyValuePair <K, V> > _this_vector = Unsafe.As <IVector <KeyValuePair <K, V> > >(this);
                _this_vector.Append(item);
            }
        }
        internal void Add <K, V>(KeyValuePair <K, V> item)
        {
            object             obj        = JitHelpers.UnsafeCast <object>(this);
            IDictionary <K, V> dictionary = obj as IDictionary <K, V>;

            if (dictionary != null)
            {
                dictionary.Add(item.Key, item.Value);
                return;
            }
            IVector <KeyValuePair <K, V> > vector = JitHelpers.UnsafeCast <IVector <KeyValuePair <K, V> > >(this);

            vector.Append(item);
        }
        // void Add(T item)
        internal void Add <K, V>(KeyValuePair <K, V> item)
        {
            object _this = JitHelpers.UnsafeCast <object>(this);

            IDictionary <K, V> _this_dictionary = _this as IDictionary <K, V>;

            if (_this_dictionary != null)
            {
                _this_dictionary.Add(item.Key, item.Value);
            }
            else
            {
                IVector <KeyValuePair <K, V> > _this_vector = JitHelpers.UnsafeCast <IVector <KeyValuePair <K, V> > >(this);
                _this_vector.Append(item);
            }
        }
        // void Add(T item)
        internal void Add <T>(T item)
        {
            IVector <T> _this = Unsafe.As <IVector <T> >(this);

            _this.Append(item);
        }
        // void Add(T item)
        internal void Add <T>(T item)
        {
            IVector <T> _this = JitHelpers.UnsafeCast <IVector <T> >(this);

            _this.Append(item);
        }