<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.Collections.Immutable</name>
    </assembly>
    <members>
        <member name="T:System.Collections.Generic.IHashKeyCollection`1">
            <summary>
            Defined on a generic collection that hashes its contents using an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>.
            </summary>
            <typeparam name="TKey">The type of element hashed in the collection.</typeparam>
        </member>
        <member name="P:System.Collections.Generic.IHashKeyCollection`1.KeyComparer">
            <summary>
            Gets the comparer used to obtain hash codes for the keys and check equality.
            </summary>
        </member>
        <member name="T:System.Collections.Generic.ISortKeyCollection`1">
            <summary>
            Defined on a generic collection that sorts its contents using an <see cref="T:System.Collections.Generic.IComparer`1"/>.
            </summary>
            <typeparam name="TKey">The type of element sorted in the collection.</typeparam>
        </member>
        <member name="P:System.Collections.Generic.ISortKeyCollection`1.KeyComparer">
            <summary>
            Gets the comparer used to sort keys.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.DisposableEnumeratorAdapter`2">
            <summary>
            An adapter that allows a single foreach loop in C# to avoid
            boxing an enumerator when possible, but fall back to boxing when necessary.
            </summary>
            <typeparam name="T">The type of value to be enumerated.</typeparam>
            <typeparam name="TEnumerator">The type of the enumerator struct.</typeparam>
        </member>
        <member name="F:System.Collections.Immutable.DisposableEnumeratorAdapter`2._enumeratorObject">
            <summary>
            The enumerator object to use if not null.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.DisposableEnumeratorAdapter`2._enumeratorStruct">
            <summary>
            The enumerator struct to use if <see cref="F:System.Collections.Immutable.DisposableEnumeratorAdapter`2._enumeratorObject"/> is <c>null</c>.
            </summary>
            <remarks>
            This field must NOT be readonly because the field's value is a struct and must be able to mutate
            in-place. A readonly keyword would cause any mutation to take place in a copy rather than the field.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.DisposableEnumeratorAdapter`2.#ctor(`1)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.DisposableEnumeratorAdapter`2"/> struct
            for enumerating over a strongly typed struct enumerator.
            </summary>
            <param name="enumerator">The initialized enumerator struct.</param>
        </member>
        <member name="M:System.Collections.Immutable.DisposableEnumeratorAdapter`2.#ctor(System.Collections.Generic.IEnumerator{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.DisposableEnumeratorAdapter`2"/> struct
            for enumerating over a (boxed) <see cref="T:System.Collections.Generic.IEnumerable`1"/> enumerator.
            </summary>
            <param name="enumerator">The initialized enumerator object.</param>
        </member>
        <member name="P:System.Collections.Immutable.DisposableEnumeratorAdapter`2.Current">
            <summary>
            Gets the current enumerated value.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.DisposableEnumeratorAdapter`2.MoveNext">
            <summary>
            Moves to the next value.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.DisposableEnumeratorAdapter`2.Dispose">
            <summary>
            Disposes the underlying enumerator.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.DisposableEnumeratorAdapter`2.GetEnumerator">
            <summary>
            Returns a copy of this struct. 
            </summary>
            <remarks>
            This member is here so that it can be used in C# foreach loops.
            </remarks>
        </member>
        <member name="T:System.Collections.Immutable.IBinaryTree">
            <summary>
            An interface for binary tree nodes that allow our common enumerator to walk the graph.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree.Height">
            <summary>
            Gets the depth of the tree below this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree.IsEmpty">
            <summary>
            Gets a value indicating whether this node is empty.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree.Count">
            <summary>
            Gets the number of non-empty nodes at this node and below.
            </summary>
            <exception cref="T:System.NotSupportedException">Thrown if the implementation does not store this value at the node.</exception>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree.Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree.Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.IBinaryTree`1">
            <summary>
            An interface for binary tree nodes that allow our common enumerator to walk the graph.
            </summary>
            <typeparam name="T">The type of value for each node.</typeparam>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree`1.Value">
            <summary>
            Gets the value represented by the current node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree`1.Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.IBinaryTree`1.Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.IImmutableArray">
            <summary>
            An internal non-generic interface implemented by <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>
            that allows for recognition of an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> instance and access
            to its underlying array, without actually knowing the type of value
            stored in it.
            </summary>
            <remarks>
            Casting to this interface requires a boxed instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct,
            and as such should be avoided. This interface is useful, however, where the value
            is already boxed and we want to try to reuse immutable arrays instead of copying them.
            ** This interface is INTENTIONALLY INTERNAL, as it gives access to the inner array.  **
            </remarks>
        </member>
        <member name="P:System.Collections.Immutable.IImmutableArray.Array">
            <summary>
            Gets an untyped reference to the array.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.IImmutableDictionary`2">
            <summary>
            An immutable key-value dictionary. 
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Clear">
            <summary>
            Gets an empty dictionary with equivalent ordering and key/value comparison rules.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Add(`0,`1)">
            <summary>
            Adds the specified key and value to the dictionary.
            </summary>
            <param name="key">The key of the entry to add.</param>
            <param name="value">The value of the entry to add.</param>
            <returns>The new dictionary containing the additional key-value pair.</returns>
            <exception cref="T:System.ArgumentException">Thrown when the given key already exists in the dictionary but has a different value.</exception>
            <remarks>
            If the given key-value pair are already in the dictionary, the existing instance is returned.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Adds the specified key-value pairs to the dictionary.
            </summary>
            <param name="pairs">The pairs.</param>
            <returns>The new dictionary containing the additional key-value pairs.</returns>
            <exception cref="T:System.ArgumentException">Thrown when one of the given keys already exists in the dictionary but has a different value.</exception>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.SetItem(`0,`1)">
            <summary>
            Sets the specified key and value to the dictionary, possibly overwriting an existing value for the given key.
            </summary>
            <param name="key">The key of the entry to add.</param>
            <param name="value">The value of the entry to add.</param>
            <returns>The new dictionary containing the additional key-value pair.</returns>
            <remarks>
            If the given key-value pair are already in the dictionary, the existing instance is returned.
            If the key already exists but with a different value, a new instance with the overwritten value will be returned.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary.
            </summary>
            <param name="items">The key=value pairs to set on the dictionary.  Any keys that conflict with existing keys will overwrite the previous values.</param>
            <returns>An immutable dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes the specified keys from the dictionary with their associated values.
            </summary>
            <param name="keys">The keys to remove.</param>
            <returns>A new dictionary with those keys removed; or this instance if those keys are not in the dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Remove(`0)">
            <summary>
            Removes the specified key from the dictionary with its associated value.
            </summary>
            <param name="key">The key to remove.</param>
            <returns>A new dictionary with the matching entry removed; or this instance if the key is not in the dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines whether this dictionary contains the specified key-value pair.
            </summary>
            <param name="pair">The key value pair.</param>
            <returns>
              <c>true</c> if this dictionary contains the key-value pair; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionary`2.TryGetKey(`0,`0@)">
            <summary>
            Searches the dictionary for a given key and returns the equal key it finds, if any.
            </summary>
            <param name="equalKey">The key to search for.</param>
            <param name="actualKey">The key from the dictionary that the search found, or <paramref name="equalKey"/> if the search yielded no match.</param>
            <returns>A value indicating whether the search was successful.</returns>
            <remarks>
            This can be useful when you want to reuse a previously stored reference instead of
            a newly constructed one (so that more sharing of references can occur) or to look up
            the canonical value, or a value that has more complete data than the value you currently have,
            although their comparer functions indicate they are equal.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableDictionaryInternal`2.ContainsValue(`1)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/>
            contains an element with the specified value.
            </summary>
            <param name="value">
            The value to locate in the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/>.
            The value can be null for reference types.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/> contains
            an element with the specified value; otherwise, false.
            </returns>
        </member>
        <member name="T:System.Collections.Immutable.IImmutableList`1">
            <summary>
             A list of elements that can only be modified by creating a new instance of the list.
            </summary>
            <typeparam name="T">The type of element stored in the list.</typeparam>
            <remarks>
            Mutations on this list generate new lists.  Incremental changes to a list share as much memory as possible with the prior versions of a list,
            while allowing garbage collection to clean up any unique list data that is no longer being referenced.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.Clear">
            <summary>
            Gets an empty list that retains the same sort semantics that this instance has.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            that starts at the specified index and contains the specified number of elements.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that starts at index and
            contains count number of elements, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            that contains the specified number of elements and ends at the specified
            index.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="index">The starting position of the search. The search proceeds from <paramref name="index"/> toward the beginning of this instance.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item"/> within the range of elements
            in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that contains <paramref name="count"/> number of elements
            and ends at <paramref name="index"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.Add(`0)">
            <summary>
            Adds the specified value to this list.
            </summary>
            <param name="value">The value to add.</param>
            <returns>A new list with the element added.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the specified values to this list.
            </summary>
            <param name="items">The values to add.</param>
            <returns>A new list with the elements added.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.Insert(System.Int32,`0)">
            <summary>
            Inserts the specified value at the specified index.
            </summary>
            <param name="index">The index at which to insert the value.</param>
            <param name="element">The element to insert.</param>
            <returns>The new immutable list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Inserts the specified values at the specified index.
            </summary>
            <param name="index">The index at which to insert the value.</param>
            <param name="items">The elements to insert.</param>
            <returns>The new immutable list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Removes the specified value from this list.
            </summary>
            <param name="value">The value to remove.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>A new list with the element removed, or this list if the element is not in this list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveAll(System.Predicate{`0})">
            <summary>
            Removes all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to remove.
            </param>
            <returns>
            The new list.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="items">The items to remove if matches are found in this list.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="index">The starting index to begin removal.</param>
            <param name="count">The number of elements to remove.</param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>A new list with the elements removed.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.SetItem(System.Int32,`0)">
            <summary>
            Replaces an element in the list at a given position with the specified element.
            </summary>
            <param name="index">The position in the list of the element to replace.</param>
            <param name="value">The element to replace the old element with.</param>
            <returns>The new list -- even if the value being replaced is equal to the new value for that position.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableList`1.Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Replaces the first equal element in the list with the specified element.
            </summary>
            <param name="oldValue">The element to replace.</param>
            <param name="newValue">The element to replace the old element with.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>The new list -- even if the value being replaced is equal to the new value for that position.</returns>
            <exception cref="T:System.ArgumentException">Thrown when the old value does not exist in the list.</exception>
        </member>
        <member name="T:System.Collections.Immutable.IImmutableListQueries`1">
            <summary>
            An interface that describes the methods that the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> and <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder"/> types have in common.
            </summary>
            <typeparam name="T">The type of element in the collection.</typeparam>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.ConvertAll``1(System.Func{`0,``0})">
            <summary>
            Converts the elements in the current <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to
            another type, and returns a list containing the converted elements.
            </summary>
            <param name="converter">
            A <see cref="T:System.Func`2"/> delegate that converts each element from
            one type to another type.
            </param>
            <typeparam name="TOutput">
            The type of the elements of the target array.
            </typeparam>
            <returns>
            A <see cref="T:System.Collections.Immutable.ImmutableList`1"/> of the target type containing the converted
            elements from the current <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.ForEach(System.Action{`0})">
            <summary>
            Performs the specified action on each element of the list.
            </summary>
            <param name="action">The <see cref="T:System.Action`1"/> delegate to perform on each element of the list.</param>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.GetRange(System.Int32,System.Int32)">
            <summary>
            Creates a shallow copy of a range of elements in the source <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="index">
            The zero-based <see cref="T:System.Collections.Immutable.ImmutableList`1"/> index at which the range
            starts.
            </param>
            <param name="count">
            The number of elements in the range.
            </param>
            <returns>
            A shallow copy of a range of elements in the source <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.CopyTo(`0[])">
            <summary>
            Copies the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to a compatible one-dimensional
            array, starting at the beginning of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in <paramref name="array"/> at which copying begins.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
            <summary>
            Copies a range of elements from the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to
            a compatible one-dimensional array, starting at the specified index of the
            target array.
            </summary>
            <param name="index">
            The zero-based index in the source <see cref="T:System.Collections.Immutable.ImmutableList`1"/> at
            which copying begins.
            </param>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
            <param name="count">The number of elements to copy.</param>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.Exists(System.Predicate{`0})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> contains elements
            that match the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> contains one or more elements
            that match the conditions defined by the specified predicate; otherwise,
            false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.Find(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the first occurrence within the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The first element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type <typeparamref name="T"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindAll(System.Predicate{`0})">
            <summary>
            Retrieves all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            A <see cref="T:System.Collections.Immutable.ImmutableList`1"/> containing all the elements that match
            the conditions defined by the specified predicate, if found; otherwise, an
            empty <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that extends
            from the specified index to the last element.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that starts
            at the specified index and contains the specified number of elements.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindLast(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the last occurrence within the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The last element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type <typeparamref name="T"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindLastIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that extends
            from the first element to the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.</param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that contains
            the specified number of elements and ends at the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.TrueForAll(System.Predicate{`0})">
            <summary>
            Determines whether every element in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            matches the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions to check against
            the elements.
            </param>
            <returns>
            true if every element in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> matches the
            conditions defined by the specified predicate; otherwise, false. If the list
            has no elements, the return value is true.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.BinarySearch(`0)">
            <summary>
            Searches the entire sorted <see cref="T:System.Collections.Generic.IReadOnlyList`1"/> for an element
            using the default comparer and returns the zero-based index of the element.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <returns>
            The zero-based index of <paramref name="item"/> in the sorted <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>,
            if <paramref name="item"/> is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than <paramref name="item"/> or, if there is
            no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.IReadOnlyCollection`1.Count"/>.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/> cannot
            find an implementation of the <see cref="T:System.IComparable`1"/> generic interface or
            the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/>.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
             Searches the entire sorted <see cref="T:System.Collections.Generic.IReadOnlyList`1"/> for an element
             using the specified comparer and returns the zero-based index of the element.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements.-or-null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>
            The zero-based index of <paramref name="item"/> in the sorted <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>,
            if <paramref name="item"/> is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than <paramref name="item"/> or, if there is
            no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.IReadOnlyCollection`1.Count"/>.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
            cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
            or the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/>.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableListQueries`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>
            for an element using the specified comparer and returns the zero-based index
            of the element.
            </summary>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="count"> The length of the range to search.</param>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>
            The zero-based index of <paramref name="item"/> in the sorted <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>,
            if <paramref name="item"/> is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than <paramref name="item"/> or, if there is
            no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.IReadOnlyCollection`1.Count"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than 0.-or-<paramref name="count"/> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index"/> and <paramref name="count"/> do not denote a valid range in the <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
            cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
            or the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/>.
            </exception>
        </member>
        <member name="T:System.Collections.Immutable.IImmutableQueue`1">
            <summary>
            An immutable queue.
            </summary>
            <typeparam name="T">The type of elements in the queue.</typeparam>    
        </member>
        <member name="P:System.Collections.Immutable.IImmutableQueue`1.IsEmpty">
            <summary>
            Gets a value indicating whether this is the empty queue.
            </summary>
            <value>
              <c>true</c> if this queue is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableQueue`1.Clear">
            <summary>
            Gets an empty queue.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableQueue`1.Peek">
            <summary>
            Gets the element at the front of the queue.
            </summary>
            <returns>
            The element at the front of the queue.
            </returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the queue is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableQueue`1.Enqueue(`0)">
            <summary>
            Adds an element to the back of the queue.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The new queue.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableQueue`1.Dequeue">
            <summary>
            Returns a queue that is missing the front element.
            </summary>
            <returns>A queue; never <c>null</c>.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the queue is empty.</exception>
        </member>
        <member name="T:System.Collections.Immutable.IImmutableSet`1">
            <summary>
             A set of elements that can only be modified by creating a new instance of the set.
            </summary>
            <typeparam name="T">The type of element stored in the set.</typeparam>
            <remarks>
            Mutations on this set generate new sets.  Incremental changes to a set share as much memory as possible with the prior versions of a set,
            while allowing garbage collection to clean up any unique set data that is no longer being referenced.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Clear">
            <summary>
            Gets an empty set that retains the same sort or unordered semantics that this instance has.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Contains(`0)">
            <summary>
            Determines whether this set contains the specified value.
            </summary>
            <param name="value">The value.</param>
            <returns>
              <c>true</c> if the set contains the specified value; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Add(`0)">
            <summary>
            Adds the specified value to this set.
            </summary>
            <param name="value">The value to add.</param>
            <returns>A new set with the element added, or this set if the element is already in this set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Remove(`0)">
            <summary>
            Removes the specified value from this set.
            </summary>
            <param name="value">The value to remove.</param>
            <returns>A new set with the element removed, or this set if the element is not in this set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.TryGetValue(`0,`0@)">
            <summary>
            Searches the set for a given value and returns the equal value it finds, if any.
            </summary>
            <param name="equalValue">The value to search for.</param>
            <param name="actualValue">The value from the set that the search found, or <paramref name="equalValue"/> if the search yielded no match.</param>
            <returns>A value indicating whether the search was successful.</returns>
            <remarks>
            This can be useful when you want to reuse a previously stored reference instead of
            a newly constructed one (so that more sharing of references can occur) or to look up
            a value that has more complete data than the value you currently have, although their
            comparer functions indicate they are equal.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Intersect(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Produces a set that contains elements that exist in both this set and the specified set.
            </summary>
            <param name="other">The set to intersect with this one.</param>
            <returns>A new set that contains any elements that exist in both sets.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Except(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes a given set of items from this set.
            </summary>
            <param name="other">The items to remove from this set.</param>
            <returns>The new set with the items removed; or the original set if none of the items were in the set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Produces a set that contains elements either in this set or a given sequence, but not both.
            </summary>
            <param name="other">The other sequence of items.</param>
            <returns>The new set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Union(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a given set of items to this set.
            </summary>
            <param name="other">The items to add.</param>
            <returns>The new set with the items added; or the original set if all the items were already in the set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Checks whether a given sequence of items entirely describe the contents of this set.
            </summary>
            <param name="other">The sequence of items to check against this set.</param>
            <returns>A value indicating whether the sets are equal.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a proper (strict) subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a proper superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a set is a subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set overlaps with the specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set and other share at least one common element; otherwise, false.</returns>
        </member>
        <member name="T:System.Collections.Immutable.IImmutableStack`1">
            <summary>
            An immutable stack.
            </summary>
            <typeparam name="T">The type of elements stored in the stack.</typeparam>
        </member>
        <member name="P:System.Collections.Immutable.IImmutableStack`1.IsEmpty">
            <summary>
            Gets a value indicating whether this is the empty stack.
            </summary>
            <value>
              <c>true</c> if this stack is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableStack`1.Clear">
            <summary>
            Gets an empty stack.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableStack`1.Push(`0)">
            <summary>
            Pushes an element onto a stack and returns the new stack.
            </summary>
            <param name="value">The element to push onto the stack.</param>
            <returns>The new stack.</returns>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableStack`1.Pop">
            <summary>
            Pops the top element off the stack.
            </summary>
            <returns>The new stack; never <c>null</c></returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.IImmutableStack`1.Peek">
            <summary>
            Gets the element on the top of the stack.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
        </member>
        <member name="T:System.Collections.Immutable.IStrongEnumerable`2">
            <summary>
            An interface that must be implemented by collections that want to avoid
            boxing their own enumerators when using the 
            <see cref="M:System.Collections.Immutable.ImmutableExtensions.GetEnumerableDisposable``2(System.Collections.Generic.IEnumerable{``0})"/>
            method.
            </summary>
            <typeparam name="T">The type of value to be enumerated.</typeparam>
            <typeparam name="TEnumerator">The type of the enumerator struct.</typeparam>
        </member>
        <member name="M:System.Collections.Immutable.IStrongEnumerable`2.GetEnumerator">
            <summary>
            Gets the strongly-typed enumerator.
            </summary>
            <returns></returns>
        </member>
        <member name="T:System.Collections.Immutable.IStrongEnumerator`1">
            <summary>
            An <see cref="T:System.Collections.Generic.IEnumerator`1"/>-like interface that does not derive from <see cref="T:System.IDisposable"/>.
            </summary>
            <typeparam name="T">The type of value to be enumerated.</typeparam>
            <remarks>
            This interface is useful because some enumerator struct types do not want to implement
            <see cref="T:System.IDisposable"/> since it increases the size of the generated code in foreach.
            </remarks>
        </member>
        <member name="P:System.Collections.Immutable.IStrongEnumerator`1.Current">
            <summary>
            Returns the current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.IStrongEnumerator`1.MoveNext">
            <summary>
            Advances to the next element.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.SortedInt32KeyNode`1">
            <summary>
            A node in the AVL tree storing key/value pairs with Int32 keys.
            </summary>
            <remarks>
            This is a trimmed down version of <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Node"/>
            with <c>TKey</c> fixed to be <see cref="T:System.Int32"/>.  This avoids multiple interface-based dispatches while examining
            each node in the tree during a lookup: an interface call to the comparer's <see cref="M:System.Collections.Generic.IComparer`1.Compare(`0,`0)"/> method,
            and then an interface call to <see cref="T:System.Int32"/>'s <see cref="M:System.IComparable`1.CompareTo(`0)"/> method as part of
            the <see cref="T:System.Collections.Generic.GenericComparer`1"/>'s <see cref="M:System.Collections.Generic.IComparer`1.Compare(`0,`0)"/> implementation.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1.EmptyNode">
            <summary>
            The default empty node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1._key">
            <summary>
            The Int32 key associated with this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1._value">
            <summary>
            The value associated with this node.
            </summary>
            <remarks>
            Sadly, this field could be readonly but doing so breaks serialization due to bug: 
            http://connect.microsoft.com/VisualStudio/feedback/details/312970/weird-argumentexception-when-deserializing-field-in-typedreferences-cannot-be-static-or-init-only
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1._frozen">
            <summary>
            A value indicating whether this node has been frozen (made immutable).
            </summary>
            <remarks>
            Nodes must be frozen before ever being observed by a wrapping collection type
            to protect collections from further mutations.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1._height">
            <summary>
            The depth of the tree beneath this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1._left">
            <summary>
            The left tree.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1._right">
            <summary>
            The right tree.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.SortedInt32KeyNode`1"/> class that is pre-frozen.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.#ctor(System.Int32,`0,System.Collections.Immutable.SortedInt32KeyNode{`0},System.Collections.Immutable.SortedInt32KeyNode{`0},System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.SortedInt32KeyNode`1"/> class that is not yet frozen.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <param name="frozen">Whether this node is prefrozen.</param>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
            <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Height">
            <summary>
            Gets the height of the tree beneath this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.System#Collections#Immutable#IBinaryTree#Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.System#Collections#Immutable#IBinaryTree#Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.System#Collections#Immutable#IBinaryTree#Count">
            <summary>
            Gets the number of elements contained by this node and below.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Value">
            <summary>
            Gets the value represented by the current node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Values">
            <summary>
            Gets the values.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.SetItem(System.Int32,`0,System.Collections.Generic.IEqualityComparer{`0},System.Boolean@,System.Boolean@)">
            <summary>
            Adds the specified key.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="replacedExistingValue">Receives a value indicating whether an existing value was replaced.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Remove(System.Int32,System.Boolean@)">
            <summary>
            Removes the specified key.
            </summary>
            <param name="key">The key.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new AVL tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.GetValueOrDefault(System.Int32)">
            <summary>
            Gets the value or default.
            </summary>
            <param name="key">The key.</param>
            <returns>The value.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.TryGetValue(System.Int32,`0@)">
            <summary>
            Tries to get the value.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <returns>True if the key was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Freeze(System.Action{System.Collections.Generic.KeyValuePair{System.Int32,`0}})">
            <summary>
            Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.RotateLeft(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            AVL rotate left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.RotateRight(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            AVL rotate right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.DoubleLeft(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            AVL rotate double-left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.DoubleRight(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            AVL rotate double-right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Balance(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            Returns a value indicating whether the tree is in balance.
            </summary>
            <param name="tree">The tree.</param>
            <returns>0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.IsRightHeavy(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            Determines whether the specified tree is right heavy.
            </summary>
            <param name="tree">The tree.</param>
            <returns>
            <c>true</c> if [is right heavy] [the specified tree]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.IsLeftHeavy(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            Determines whether the specified tree is left heavy.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.MakeBalanced(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            Balances the specified tree.
            </summary>
            <param name="tree">The tree.</param>
            <returns>A balanced tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.SetOrAdd(System.Int32,`0,System.Collections.Generic.IEqualityComparer{`0},System.Boolean,System.Boolean@,System.Boolean@)">
            <summary>
            Adds the specified key. Callers are expected to have validated arguments.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="overwriteExistingValue">if <c>true</c>, an existing key=value pair will be overwritten with the new one.</param>
            <param name="replacedExistingValue">Receives a value indicating whether an existing value was replaced.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new AVL tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.RemoveRecursive(System.Int32,System.Boolean@)">
            <summary>
            Removes the specified key. Callers are expected to validate arguments.
            </summary>
            <param name="key">The key.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new AVL tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Mutate(System.Collections.Immutable.SortedInt32KeyNode{`0},System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node
            with the described changes.
            </summary>
            <param name="left">The left branch of the mutated node.</param>
            <param name="right">The right branch of the mutated node.</param>
            <returns>The mutated (or created) node.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Search(System.Int32)">
            <summary>
            Searches the specified key. Callers are expected to validate arguments.
            </summary>
            <param name="key">The key.</param>
        </member>
        <member name="T:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator">
            <summary>
            Enumerates the contents of a binary tree.
            </summary>
            <remarks>
            This struct can and should be kept in exact sync with the other binary tree enumerators: 
            <see cref="T:System.Collections.Immutable.ImmutableList`1.Enumerator"/>, <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator"/>, and <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator"/>.
            
            CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable 
            or by passing it to another method.  When this enumerator is disposed of it returns a mutable reference type stack to a resource pool,
            and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk
            that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data
            corruption and/or exceptions.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.s_enumeratingStacks">
            <summary>
            The resource pool of reusable mutable stacks for purposes of enumeration.
            </summary>
            <remarks>
            We utilize this resource pool to make "allocation free" enumeration achievable.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator._poolUserId">
            <summary>
            A unique ID for this instance of this enumerator.
            Used to protect pooled objects from use after they are recycled.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator._root">
            <summary>
            The set being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator._stack">
            <summary>
            The stack to use for enumerating the binary tree.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator._current">
            <summary>
            The node currently selected.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.#ctor(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            Initializes an <see cref="T:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator"/> structure.
            </summary>
            <param name="root">The root of the set to be enumerated.</param>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.System#Collections#Immutable#ISecurePooledObjectUser#PoolUserId">
            <inheritdoc/>
        </member>
        <member name="P:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.Dispose">
            <summary>
            Disposes of this enumerator and returns the stack reference to the resource pool.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.MoveNext">
            <summary>
            Advances enumeration to the next element.
            </summary>
            <returns>A value indicating whether there is another element in the enumeration.</returns>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.Reset">
            <summary>
            Restarts enumeration.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.ThrowIfDisposed">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> if this enumerator has been disposed.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.PushLeft(System.Collections.Immutable.SortedInt32KeyNode{`0})">
            <summary>
            Pushes this node and all its Left descendants onto the stack.
            </summary>
            <param name="node">The starting node to push onto the stack.</param>
        </member>
        <member name="T:System.Collections.Immutable.IOrderedCollection`1">
            <summary>
            Describes an ordered collection of elements.
            </summary>
            <typeparam name="T">The type of element in the collection.</typeparam>
        </member>
        <member name="P:System.Collections.Immutable.IOrderedCollection`1.Count">
            <summary>
            Gets the number of elements in the collection.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.IOrderedCollection`1.Item(System.Int32)">
            <summary>
            Gets the element in the collection at a given index.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableArray">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray.TwoElementArray">
            <summary>
            A two element array useful for throwing exceptions the way LINQ does.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1">
            <summary>
            Creates an empty <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <returns>An empty array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0)">
            <summary>
            Creates an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> with the specified element as its only member.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="item">The element to store in the array.</param>
            <returns>A 1-element array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0,``0)">
            <summary>
            Creates an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> with the specified elements.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="item1">The first element to store in the array.</param>
            <param name="item2">The second element to store in the array.</param>
            <returns>A 2-element array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0,``0,``0)">
            <summary>
            Creates an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> with the specified elements.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="item1">The first element to store in the array.</param>
            <param name="item2">The second element to store in the array.</param>
            <param name="item3">The third element to store in the array.</param>
            <returns>A 3-element array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0,``0,``0,``0)">
            <summary>
            Creates an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> with the specified elements.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="item1">The first element to store in the array.</param>
            <param name="item2">The second element to store in the array.</param>
            <param name="item3">The third element to store in the array.</param>
            <param name="item4">The fourth element to store in the array.</param>
            <returns>A 4-element array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> populated with the contents of the specified sequence.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="items">The elements to store in the array.</param>
            <returns>An immutable array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0[])">
            <summary>
            Creates an empty <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="items">The elements to store in the array.</param>
            <returns>An immutable array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0[],System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct.
            </summary>
            <param name="items">The array to initialize the array with. A defensive copy is made.</param>
            <param name="start">The index of the first element in the source array to include in the resulting array.</param>
            <param name="length">The number of elements from the source array to include in the resulting array.</param>
            <remarks>
            This overload allows helper methods or custom builder classes to efficiently avoid paying a redundant
            tax for copying an array when the new array is a segment of an existing array.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct.
            </summary>
            <param name="items">The array to initialize the array with.
            The selected array segment may be copied into a new array.</param>
            <param name="start">The index of the first element in the source array to include in the resulting array.</param>
            <param name="length">The number of elements from the source array to include in the resulting array.</param>
            <remarks>
            This overload allows helper methods or custom builder classes to efficiently avoid paying a redundant
            tax for copying an array when the new array is a segment of an existing array.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``2(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct.
            </summary>
            <param name="items">The source array to initialize the resulting array with.</param>
            <param name="selector">The function to apply to each element from the source array.</param>
            <remarks>
            This overload allows efficient creation of an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> based on an existing
            <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>, where a mapping function needs to be applied to each element from
            the source array.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``2(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,System.Func{``0,``1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct.
            </summary>
            <param name="items">The source array to initialize the resulting array with.</param>
            <param name="start">The index of the first element in the source array to include in the resulting array.</param>
            <param name="length">The number of elements from the source array to include in the resulting array.</param>
            <param name="selector">The function to apply to each element from the source array included in the resulting array.</param>
            <remarks>
            This overload allows efficient creation of an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> based on a slice of an existing
            <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>, where a mapping function needs to be applied to each element from the source array
            included in the resulting array.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``3(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``1,``2},``1)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct.
            </summary>
            <param name="items">The source array to initialize the resulting array with.</param>
            <param name="selector">The function to apply to each element from the source array.</param>
            <param name="arg">An argument to be passed to the selector mapping function.</param>
            <remarks>
            This overload allows efficient creation of an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> based on an existing
            <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>, where a mapping function needs to be applied to each element from
            the source array.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``3(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,System.Func{``0,``1,``2},``1)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct.
            </summary>
            <param name="items">The source array to initialize the resulting array with.</param>
            <param name="start">The index of the first element in the source array to include in the resulting array.</param>
            <param name="length">The number of elements from the source array to include in the resulting array.</param>
            <param name="selector">The function to apply to each element from the source array included in the resulting array.</param>
            <param name="arg">An argument to be passed to the selector mapping function.</param>
            <remarks>
            This overload allows efficient creation of an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> based on a slice of an existing
            <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>, where a mapping function needs to be applied to each element from the source array
            included in the resulting array.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateBuilder``1">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder"/> class.
            </summary>
            <typeparam name="T">The type of elements stored in the array.</typeparam>
            <returns>A new builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateBuilder``1(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder"/> class.
            </summary>
            <typeparam name="T">The type of elements stored in the array.</typeparam>
            <param name="initialCapacity">The size of the initial array backing the builder.</param>
            <returns>A new builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.ToImmutableArray``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Enumerates a sequence exactly once and produces an immutable array of its contents.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <param name="items">The sequence to enumerate.</param>
            <returns>An immutable array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},``0)">
            <summary>
            Searches an entire one-dimensional sorted <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> for a specific element,
            using the <see cref="T:System.IComparable`1"/> generic interface implemented by each element
            of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> and by the specified object.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="array">The sorted, one-dimensional array to search.</param>
            <param name="value">The object to search for.</param>
            <returns>
            The index of the specified <paramref name="value"/> in the specified array, if <paramref name="value"/> is found.
            If <paramref name="value"/> is not found and <paramref name="value"/> is less than one or more elements in array,
            a negative number which is the bitwise complement of the index of the first
            element that is larger than <paramref name="value"/>. If <paramref name="value"/> is not found and <paramref name="value"/> is greater
            than any of the elements in array, a negative number which is the bitwise
            complement of (the index of the last element plus 1).
            </returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="value"/> does not implement the <see cref="T:System.IComparable`1"/> generic interface, and
            the search encounters an element that does not implement the <see cref="T:System.IComparable`1"/>
            generic interface.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Searches an entire one-dimensional sorted <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> for a value using
            the specified <see cref="T:System.Collections.Generic.IComparer`1"/> generic interface.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="array">The sorted, one-dimensional array to search.</param>
            <param name="value">The object to search for.</param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements; or null to use the <see cref="T:System.IComparable`1"/> implementation of each
            element.
            </param>
            <returns>
            The index of the specified <paramref name="value"/> in the specified array, if <paramref name="value"/> is found.
            If <paramref name="value"/> is not found and <paramref name="value"/> is less than one or more elements in array,
            a negative number which is the bitwise complement of the index of the first
            element that is larger than <paramref name="value"/>. If <paramref name="value"/> is not found and <paramref name="value"/> is greater
            than any of the elements in array, a negative number which is the bitwise
            complement of (the index of the last element plus 1).
            </returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer"/> is null, <paramref name="value"/> does not implement the <see cref="T:System.IComparable`1"/> generic interface, and
            the search encounters an element that does not implement the <see cref="T:System.IComparable`1"/>
            generic interface.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,``0)">
            <summary>
            Searches a range of elements in a one-dimensional sorted <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> for
            a value, using the <see cref="T:System.IComparable`1"/> generic interface implemented by
            each element of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> and by the specified value.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="array">The sorted, one-dimensional array to search.</param>
            <param name="index">The starting index of the range to search.</param>
            <param name="length">The length of the range to search.</param>
            <param name="value">The object to search for.</param>
            <returns>
            The index of the specified <paramref name="value"/> in the specified <paramref name="array"/>, if <paramref name="value"/> is found.
            If <paramref name="value"/> is not found and <paramref name="value"/> is less than one or more elements in <paramref name="array"/>,
            a negative number which is the bitwise complement of the index of the first
            element that is larger than <paramref name="value"/>. If <paramref name="value"/> is not found and <paramref name="value"/> is greater
            than any of the elements in <paramref name="array"/>, a negative number which is the bitwise
            complement of (the index of the last element plus 1).
            </returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="value"/> does not implement the <see cref="T:System.IComparable`1"/> generic interface, and
            the search encounters an element that does not implement the <see cref="T:System.IComparable`1"/>
            generic interface.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than the lower bound of <paramref name="array"/>. -or- <paramref name="length"/> is less than zero.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Searches a range of elements in a one-dimensional sorted <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> for
            a value, using the specified <see cref="T:System.Collections.Generic.IComparer`1"/> generic
            interface.
            </summary>
            <typeparam name="T">The type of element stored in the array.</typeparam>
            <param name="array">The sorted, one-dimensional array to search.</param>
            <param name="index">The starting index of the range to search.</param>
            <param name="length">The length of the range to search.</param>
            <param name="value">The object to search for.</param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements; or null to use the <see cref="T:System.IComparable`1"/> implementation of each
            element.
            </param>
            <returns>
            The index of the specified <paramref name="value"/> in the specified <paramref name="array"/>, if <paramref name="value"/> is found.
            If <paramref name="value"/> is not found and <paramref name="value"/> is less than one or more elements in <paramref name="array"/>,
            a negative number which is the bitwise complement of the index of the first
            element that is larger than <paramref name="value"/>. If <paramref name="value"/> is not found and <paramref name="value"/> is greater
            than any of the elements in <paramref name="array"/>, a negative number which is the bitwise
            complement of (the index of the last element plus 1).
            </returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer"/> is null, <paramref name="value"/> does not implement the <see cref="T:System.IComparable`1"/> generic
            interface, and the search encounters an element that does not implement the
            <see cref="T:System.IComparable`1"/> generic interface.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/>.-or-<paramref name="comparer"/> is null,
            and <paramref name="value"/> is of a type that is not compatible with the elements of <paramref name="array"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than the lower bound of <paramref name="array"/>. -or- <paramref name="length"/> is less than zero.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray.CreateDefensiveCopy``1(``0[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct.
            </summary>
            <param name="items">The array from which to copy.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableArray`1">
            <summary>
            A readonly array with O(1) indexable lookup time.
            </summary>
            <typeparam name="T">The type of element stored by the array.</typeparam>
            <devremarks>
            This type has a documented contract of being exactly one reference-type field in size.
            Our own <see cref="T:System.Collections.Immutable.ImmutableInterlocked"/> class depends on it, as well as others externally.
            IMPORTANT NOTICE FOR MAINTAINERS AND REVIEWERS:
            This type should be thread-safe. As a struct, it cannot protect its own fields
            from being changed from one thread while its members are executing on other threads
            because structs can change *in place* simply by reassigning the field containing
            this struct. Therefore it is extremely important that
            ** Every member should only dereference <c>this</c> ONCE. **
            If a member needs to reference the array field, that counts as a dereference of <c>this</c>.
            Calling other instance members (properties or methods) also counts as dereferencing <c>this</c>.
            Any member that needs to use <c>this</c> more than once must instead
            assign <c>this</c> to a local variable and use that for the rest of the code instead.
            This effectively copies the one field in the struct to a local variable so that
            it is insulated from other threads.
            </devremarks>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableArray`1.Builder">
            <summary>
            A writable array accessor that can be converted into an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>
            instance without allocating memory.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.Builder._elements">
            <summary>
            The backing array for the builder.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.Builder._count">
            <summary>
            The number of initialized elements in the array.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder"/> class.
            </summary>
            <param name="capacity">The initial capacity of the internal array.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder"/> class.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.Capacity">
            <summary>
            Get and sets the length of the internal array.  When set the internal array is
            reallocated to the given capacity if it is not already the specified length.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.Count">
            <summary>
            Gets or sets the length of the builder.
            </summary>
            <remarks>
            If the value is decreased, the array contents are truncated.
            If the value is increased, the added elements are initialized to the default value of type <typeparamref name="T"/>.
            </remarks>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns></returns>
            <exception cref="T:System.IndexOutOfRangeException">
            </exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.ToImmutable">
            <summary>
            Returns an immutable copy of the current contents of this collection.
            </summary>
            <returns>An immutable array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.MoveToImmutable">
            <summary>
            Extracts the internal array as an <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> and replaces it 
            with a zero length array.
            </summary>
            <exception cref="T:System.InvalidOperationException">When <see cref="P:System.Collections.Immutable.ImmutableArray`1.Builder.Count"/> doesn't 
            equal <see cref="P:System.Collections.Immutable.ImmutableArray`1.Builder.Capacity"/>.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Insert(System.Int32,`0)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Add(`0)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(`0[])">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange``1(``0[])">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(`0[],System.Int32)">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
            <param name="length">The number of elements from the source array to add.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Immutable.ImmutableArray{`0},System.Int32)">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
            <param name="length">The number of elements from the source array to add.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Immutable.ImmutableArray{`0}.Builder)">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
            <summary>
            Adds the specified items to the end of the array.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Remove(`0)">
            <summary>
            Removes the specified element.
            </summary>
            <param name="element">The element.</param>
            <returns>A value indicating whether the specified element was found and removed from the collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1"/> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Contains(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <returns>
            true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.ToArray">
            <summary>
            Creates a new array with the current contents of this Builder.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the current contents to the specified array.
            </summary>
            <param name="array">The array to copy to.</param>
            <param name="index">The starting index of the target array.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.EnsureCapacity(System.Int32)">
            <summary>
            Resizes the array to accommodate the specified capacity requirement.
            </summary>
            <param name="capacity">The required capacity.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"/>.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
            <returns>
            The index of <paramref name="item"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0,System.Int32)">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0)">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0,System.Int32)">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <param name="equalityComparer">The equality comparer to use in the search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Reverse">
            <summary>
            Reverses the order of elements in the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort">
            <summary>
            Sorts the array.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort(System.Comparison{`0})">
            <summary>
            Sorts the elements in the entire array using
            the specified <see cref="T:System.Comparison`1"/>.
            </summary>
            <param name="comparison">
            The <see cref="T:System.Comparison`1"/> to use when comparing elements.
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is null.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the array.
            </summary>
            <param name="comparer">The comparer to use in sorting. If <c>null</c>, the default comparer is used.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the array.
            </summary>
            <param name="index">The index of the first element to consider in the sort.</param>
            <param name="count">The number of elements to include in the sort.</param>
            <param name="comparer">The comparer to use in sorting. If <c>null</c>, the default comparer is used.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.GetEnumerator">
            <summary>
            Returns an enumerator for the contents of the array.
            </summary>
            <returns>An enumerator.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator for the contents of the array.
            </summary>
            <returns>An enumerator.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator for the contents of the array.
            </summary>
            <returns>An enumerator.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange``1(``0[],System.Int32)">
            <summary>
            Adds items to this collection.
            </summary>
            <typeparam name="TDerived">The type of source elements.</typeparam>
            <param name="items">The source array.</param>
            <param name="length">The number of elements to add to this array.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableArray`1.Enumerator">
            <summary>
            An array enumerator.
            </summary>
            <remarks>
            It is important that this enumerator does NOT implement <see cref="T:System.IDisposable"/>.
            We want the iterator to inline when we do foreach and to not result in
            a try/finally frame in the client.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.Enumerator._array">
            <summary> 
            The array being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.Enumerator._index">
            <summary>
            The currently enumerated position.
            </summary>
            <value>
            -1 before the first call to <see cref="M:System.Collections.Immutable.ImmutableArray`1.Enumerator.MoveNext"/>.
            >= this.array.Length after <see cref="M:System.Collections.Immutable.ImmutableArray`1.Enumerator.MoveNext"/> returns false.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Enumerator.#ctor(`0[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1.Enumerator"/> struct.
            </summary>
            <param name="array">The array to enumerate.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.Enumerator.Current">
            <summary>
            Gets the currently enumerated value.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Enumerator.MoveNext">
            <summary>
            Advances to the next value to be enumerated.
            </summary>
            <returns><c>true</c> if another item exists in the array; <c>false</c> otherwise.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject">
            <summary>
            An array enumerator that implements <see cref="T:System.Collections.Generic.IEnumerator`1"/> pattern (including <see cref="T:System.IDisposable"/>).
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.s_EmptyEnumerator">
            <summary>
            A shareable singleton for enumerating empty arrays.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject._array">
            <summary>
            The array being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject._index">
            <summary>
            The currently enumerated position.
            </summary>
            <value>
            -1 before the first call to <see cref="M:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.MoveNext"/>.
            this.array.Length - 1 after MoveNext returns false.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.#ctor(`0[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1.Enumerator"/> class.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.Current">
            <summary>
            Gets the currently enumerated value.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.System#Collections#IEnumerator#Current">
            <summary>
            Gets the currently enumerated value.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.MoveNext">
            <summary>
            If another item exists in the array, advances to the next value to be enumerated.
            </summary>
            <returns><c>true</c> if another item exists in the array; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.System#Collections#IEnumerator#Reset">
            <summary>
            Resets enumeration to the start of the array.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.Dispose">
            <summary>
            Disposes this enumerator.
            </summary>
            <remarks>
            Currently has no action.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.EnumeratorObject.Create(`0[])">
            <summary>
            Creates an enumerator for the specified array.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.Empty">
            <summary>
            An empty (initialized) instance of <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArray`1.array">
            <summary>
            The backing field for this instance. References to this value should never be shared with outside code.
            </summary>
            <remarks>
            This would be private, but we make it internal so that our own extension methods can access it.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.#ctor(`0[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct
            *without making a defensive copy*.
            </summary>
            <param name="items">The array to use. May be null for "default" arrays.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Equality(System.Collections.Immutable.ImmutableArray{`0},System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Checks equality between two instances.
            </summary>
            <param name="left">The instance to the left of the operator.</param>
            <param name="right">The instance to the right of the operator.</param>
            <returns><c>true</c> if the values' underlying arrays are reference equal; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Inequality(System.Collections.Immutable.ImmutableArray{`0},System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Checks inequality between two instances.
            </summary>
            <param name="left">The instance to the left of the operator.</param>
            <param name="right">The instance to the right of the operator.</param>
            <returns><c>true</c> if the values' underlying arrays are reference not equal; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Equality(System.Nullable{System.Collections.Immutable.ImmutableArray{`0}},System.Nullable{System.Collections.Immutable.ImmutableArray{`0}})">
            <summary>
            Checks equality between two instances.
            </summary>
            <param name="left">The instance to the left of the operator.</param>
            <param name="right">The instance to the right of the operator.</param>
            <returns><c>true</c> if the values' underlying arrays are reference equal; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Inequality(System.Nullable{System.Collections.Immutable.ImmutableArray{`0}},System.Nullable{System.Collections.Immutable.ImmutableArray{`0}})">
            <summary>
            Checks inequality between two instances.
            </summary>
            <param name="left">The instance to the left of the operator.</param>
            <param name="right">The instance to the right of the operator.</param>
            <returns><c>true</c> if the values' underlying arrays are reference not equal; <c>false</c> otherwise.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.Item(System.Int32)">
            <summary>
            Gets the element at the specified index in the read-only list.
            </summary>
            <param name="index">The zero-based index of the element to get.</param>
            <returns>The element at the specified index in the read-only list.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IList{T}#Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index in the read-only list.
            </summary>
            <param name="index">The zero-based index of the element to get.</param>
            <returns>The element at the specified index in the read-only list.</returns>
            <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read only.
            </summary>
            <value>
            <c>true</c> if this instance is read only; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.IsEmpty">
            <summary>
            Gets a value indicating whether this collection is empty.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.Length">
            <summary>
            Gets the number of array in the collection.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#ICollection{T}#Count">
            <summary>
            Gets the number of array in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IReadOnlyCollection{T}#Count">
            <summary>
            Gets the number of array in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IReadOnlyList{T}#Item(System.Int32)">
            <summary>
            Gets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>
            The element.
            </returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.IsDefault">
            <summary>
            Gets a value indicating whether this struct was initialized without an actual array instance.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.IsDefaultOrEmpty">
            <summary>
            Gets a value indicating whether this struct is empty or uninitialized.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableArray#Array">
            <summary>
            Gets an untyped reference to the array.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.DebuggerDisplay">
            <summary>
            Gets the string to display in the debugger watches window for this instance.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0)">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="equalityComparer">The equality comparer to use in the search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32)">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches the array for the specified item.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0)">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0,System.Int32)">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches the array for the specified item in reverse.
            </summary>
            <param name="item">The item to search for.</param>
            <param name="startIndex">The index at which to begin the search.</param>
            <param name="count">The number of elements to search.</param>
            <param name="equalityComparer">The equality comparer to use in the search.</param>
            <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Contains(`0)">
            <summary>
            Determines whether the specified item exists in the array.
            </summary>
            <param name="item">The item to search for.</param>
            <returns><c>true</c> if an equal value was found in the array; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.CopyTo(`0[])">
            <summary>
            Copies the contents of this array to the specified array.
            </summary>
            <param name="destination">The array to copy to.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the contents of this array to the specified array.
            </summary>
            <param name="destination">The array to copy to.</param>
            <param name="destinationIndex">The index into the destination array to which the first copied element is written.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
            <summary>
            Copies the contents of this array to the specified array.
            </summary>
            <param name="sourceIndex">The index into this collection of the first element to copy.</param>
            <param name="destination">The array to copy to.</param>
            <param name="destinationIndex">The index into the destination array to which the first copied element is written.</param>
            <param name="length">The number of elements to copy.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Insert(System.Int32,`0)">
            <summary>
            Returns a new array with the specified value inserted at the specified position.
            </summary>
            <param name="index">The 0-based index into the array at which the new item should be added.</param>
            <param name="item">The item to insert at the start of the array.</param>
            <returns>A new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Inserts the specified values at the specified index.
            </summary>
            <param name="index">The index at which to insert the value.</param>
            <param name="items">The elements to insert.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.InsertRange(System.Int32,System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Inserts the specified values at the specified index.
            </summary>
            <param name="index">The index at which to insert the value.</param>
            <param name="items">The elements to insert.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Add(`0)">
            <summary>
            Returns a new array with the specified value inserted at the end.
            </summary>
            <param name="item">The item to insert at the end of the array.</param>
            <returns>A new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the specified values to this list.
            </summary>
            <param name="items">The values to add.</param>
            <returns>A new list with the elements added.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.AddRange(System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Adds the specified values to this list.
            </summary>
            <param name="items">The values to add.</param>
            <returns>A new list with the elements added.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.SetItem(System.Int32,`0)">
            <summary>
            Returns an array with the item at the specified position replaced.
            </summary>
            <param name="index">The index of the item to replace.</param>
            <param name="item">The new item.</param>
            <returns>The new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Replace(`0,`0)">
            <summary>
            Replaces the first equal element in the list with the specified element.
            </summary>
            <param name="oldValue">The element to replace.</param>
            <param name="newValue">The element to replace the old element with.</param>
            <returns>The new list -- even if the value being replaced is equal to the new value for that position.</returns>
            <exception cref="T:System.ArgumentException">Thrown when the old value does not exist in the list.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Replaces the first equal element in the list with the specified element.
            </summary>
            <param name="oldValue">The element to replace.</param>
            <param name="newValue">The element to replace the old element with.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>The new list -- even if the value being replaced is equal to the new value for that position.</returns>
            <exception cref="T:System.ArgumentException">Thrown when the old value does not exist in the list.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Remove(`0)">
            <summary>
            Returns an array with the first occurrence of the specified element removed from the array.
            If no match is found, the current array is returned.
            </summary>
            <param name="item">The item to remove.</param>
            <returns>The new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Returns an array with the first occurrence of the specified element removed from the array.
            If no match is found, the current array is returned.
            </summary>
            <param name="item">The item to remove.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>The new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveAt(System.Int32)">
            <summary>
            Returns an array with the element at the specified position removed.
            </summary>
            <param name="index">The 0-based index into the array for the element to omit from the returned array.</param>
            <returns>The new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Returns an array with the elements at the specified position removed.
            </summary>
            <param name="index">The 0-based index into the array for the element to omit from the returned array.</param>
            <param name="length">The number of elements to remove.</param>
            <returns>The new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="items">The items to remove if matches are found in this list.</param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="items">The items to remove if matches are found in this list.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="items">The items to remove if matches are found in this list.</param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Immutable.ImmutableArray{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="items">The items to remove if matches are found in this list.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            </param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveAll(System.Predicate{`0})">
            <summary>
            Removes all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to remove.
            </param>
            <returns>
            The new list.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Clear">
            <summary>
            Returns an empty array.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort">
            <summary>
            Returns a sorted instance of this array.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort(System.Comparison{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> using
            the specified <see cref="T:System.Comparison`1"/>.
            </summary>
            <param name="comparison">
            The <see cref="T:System.Comparison`1"/> to use when comparing elements.
            </param>
            <returns>The sorted list.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is null.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Returns a sorted instance of this array.
            </summary>
            <param name="comparer">The comparer to use in sorting. If <c>null</c>, the default comparer is used.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            Returns a sorted instance of this array.
            </summary>
            <param name="index">The index of the first element to consider in the sort.</param>
            <param name="count">The number of elements to include in the sort.</param>
            <param name="comparer">The comparer to use in sorting. If <c>null</c>, the default comparer is used.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.ToBuilder">
            <summary>
            Returns a builder that is populated with the same contents as this array.
            </summary>
            <returns>The new builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.GetEnumerator">
            <summary>
            Returns an enumerator for the contents of the array.
            </summary>
            <returns>An enumerator.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.Equals(System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.CastUp``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct based on the contents
            of an existing instance, allowing a covariant static cast to efficiently reuse the existing array.
            </summary>
            <param name="items">The array to initialize the array with. No copy is made.</param>
            <remarks>
            Covariant upcasts from this method may be reversed by calling the
            <see cref="M:System.Collections.Immutable.ImmutableArray`1.As``1"/>  or <see cref="M:System.Collections.Immutable.ImmutableArray`1.CastArray``1"/>method.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.CastArray``1">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> struct by casting the underlying
            array to an array of type <typeparam name="TOther"/>.
            </summary>
            <exception cref="T:System.InvalidCastException">Thrown if the cast is illegal.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.As``1">
            <summary>
            Creates an immutable array for this array, cast to a different element type.
            </summary>
            <typeparam name="TOther">The type of array element to return.</typeparam>
            <returns>
            A struct typed for the base element type. If the cast fails, an instance
            is returned whose <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns <c>true</c>.
            </returns>
            <remarks>
            Arrays of derived elements types can be cast to arrays of base element types
            without reallocating the array.
            These upcasts can be reversed via this same method, casting an array of base
            element types to their derived types. However, downcasting is only successful
            when it reverses a prior upcasting operation.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.OfType``1">
            <summary>
            Filters the elements of this array to those assignable to the specified type.
            </summary>
            <typeparam name="TResult">The type to filter the elements of the sequence on.</typeparam>
            <returns>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains elements from
            the input sequence of type <typeparamref name="TResult"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator for the contents of the array.
            </summary>
            <returns>An enumerator.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator for the contents of the array.
            </summary>
            <returns>An enumerator.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Clear">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Add(`0)">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Insert(System.Int32,`0)">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveAll(System.Predicate{`0})">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Int32,System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveAt(System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#SetItem(System.Int32,`0)">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Add(System.Object)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to add to the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection,
            </returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IList"/> contains a specific value.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            true if the <see cref="T:System.Object"/> is found in the <see cref="T:System.Collections.IList"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#IndexOf(System.Object)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The index of <paramref name="value"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Insert(System.Int32,System.Object)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.IList"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="value"/> should be inserted.</param>
            <param name="value">The object to insert into the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#IsFixedSize">
            <summary>
            Gets a value indicating whether this instance is fixed size.
            </summary>
            <value>
            <c>true</c> if this instance is fixed size; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read only.
            </summary>
            <value>
            <c>true</c> if this instance is read only; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#Count">
            <summary>
            Gets the size of the array.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#IsSynchronized">
            <summary>
            See the <see cref="T:System.Collections.ICollection"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets the sync root.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Remove(System.Object)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to remove from the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1"/> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:System.Object"/> at the specified index.
            </summary>
            <value>
            The <see cref="T:System.Object"/>.
            </value>
            <param name="index">The index.</param>
            <returns></returns>
            <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IStructuralEquatable#Equals(System.Object,System.Collections.IEqualityComparer)">
            <summary>
            Determines whether an object is structurally equal to the current instance.
            </summary>
            <param name="other">The object to compare with the current instance.</param>
            <param name="comparer">An object that determines whether the current instance and other are equal.</param>
            <returns>true if the two objects are equal; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IStructuralEquatable#GetHashCode(System.Collections.IEqualityComparer)">
            <summary>
            Returns a hash code for the current instance.
            </summary>
            <param name="comparer">An object that computes the hash code of the current object.</param>
            <returns>The hash code for the current instance.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IStructuralComparable#CompareTo(System.Object,System.Collections.IComparer)">
            <summary>
            Determines whether the current collection object precedes, occurs in the
            same position as, or follows another object in the sort order.
            </summary>
            <param name="other">The object to compare with the current instance.</param>
            <param name="comparer">
            An object that compares members of the current collection object with the
            corresponding members of other.
            </param>
            <returns>
            An integer that indicates the relationship of the current collection object
            to other.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.ThrowNullRefIfNotInitialized">
            <summary>
            Throws a null reference exception if the array field is null.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.ThrowInvalidOperationIfNotInitialized">
             <summary>
             Throws an <see cref="T:System.InvalidOperationException"/> if the <see cref="F:System.Collections.Immutable.ImmutableArray`1.array"/> field is null, i.e. the
             <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault"/> property returns true.  The
             <see cref="T:System.InvalidOperationException"/> message specifies that the operation cannot be performed
             on a default instance of <see cref="T:System.Collections.Immutable.ImmutableArray`1"/>.
            
             This is intended for explicitly implemented interface method and property implementations.
             </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveAtRange(System.Collections.Generic.ICollection{System.Int32})">
            <summary>
            Returns an array with items at the specified indexes removed.
            </summary>
            <param name="indexesToRemove">A **sorted set** of indexes to elements that should be omitted from the returned array.</param>
            <returns>The new array.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArray`1.ThrowNullRefIfNotInitialized(System.Collections.Immutable.ImmutableArray{`0})">
            <summary>
            Throws a <see cref="T:System.NullReferenceException"/> if the specified array is uninitialized.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableArrayBuilderDebuggerProxy`1">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableArrayBuilderDebuggerProxy`1._builder">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableArrayBuilderDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableArray{`0}.Builder)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArrayBuilderDebuggerProxy`1"/> class.
            </summary>
            <param name="builder">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableArrayBuilderDebuggerProxy`1.A">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.Create``2">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.Create``2(System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Returns an empty collection with the specified key comparer.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <returns>
            The immutable collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.Create``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Returns an empty collection with the specified comparers.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <returns>
            The immutable collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateRange``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateRange``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateRange``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateBuilder``2">
            <summary>
            Creates a new immutable dictionary builder.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <returns>The new builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateBuilder``2(System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Creates a new immutable dictionary builder.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <returns>The new builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateBuilder``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Creates a new immutable dictionary builder.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <returns>The new builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1},System.Collections.Generic.IEqualityComparer{``2})">
            <summary>
            Constructs an immutable dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <typeparam name="TValue">The type of value in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <param name="elementSelector">The function that will produce the value for the map from each sequence element.</param>
            <param name="keyComparer">The key comparer to use for the map.</param>
            <param name="valueComparer">The value comparer to use for the map.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Constructs an immutable dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <typeparam name="TValue">The type of value in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <param name="elementSelector">The function that will produce the value for the map from each sequence element.</param>
            <param name="keyComparer">The key comparer to use for the map.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Constructs an immutable dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Constructs an immutable dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <param name="keyComparer">The key comparer to use for the map.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
            <summary>
            Constructs an immutable dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <typeparam name="TValue">The type of value in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <param name="elementSelector">The function that will produce the value for the map from each sequence element.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Creates an immutable dictionary given a sequence of key=value pairs.
            </summary>
            <typeparam name="TKey">The type of key in the map.</typeparam>
            <typeparam name="TValue">The type of value in the map.</typeparam>
            <param name="source">The sequence of key=value pairs.</param>
            <param name="keyComparer">The key comparer to use when building the immutable map.</param>
            <param name="valueComparer">The value comparer to use for the immutable map.</param>
            <returns>An immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Creates an immutable dictionary given a sequence of key=value pairs.
            </summary>
            <typeparam name="TKey">The type of key in the map.</typeparam>
            <typeparam name="TValue">The type of value in the map.</typeparam>
            <param name="source">The sequence of key=value pairs.</param>
            <param name="keyComparer">The key comparer to use when building the immutable map.</param>
            <returns>An immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates an immutable dictionary given a sequence of key=value pairs.
            </summary>
            <typeparam name="TKey">The type of key in the map.</typeparam>
            <typeparam name="TValue">The type of value in the map.</typeparam>
            <param name="source">The sequence of key=value pairs.</param>
            <returns>An immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.Contains``2(System.Collections.Immutable.IImmutableDictionary{``0,``1},``0,``1)">
            <summary>
            Determines whether this map contains the specified key-value pair.
            </summary>
            <typeparam name="TKey">The type of key in the map.</typeparam>
            <typeparam name="TValue">The type of value in the map.</typeparam>
            <param name="map">The map to search.</param>
            <param name="key">The key to check for.</param>
            <param name="value">The value to check for on a matching key, if found.</param>
            <returns>
              <c>true</c> if this map contains the key-value pair; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.GetValueOrDefault``2(System.Collections.Immutable.IImmutableDictionary{``0,``1},``0)">
            <summary>
            Gets the value for a given key if a matching key exists in the dictionary.
            </summary>
            <param name="dictionary">The dictionary to retrieve the value from.</param>
            <param name="key">The key to search for.</param>
            <returns>The value for the key, or the default value of type <typeparamref name="TValue"/> if no matching key was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary.GetValueOrDefault``2(System.Collections.Immutable.IImmutableDictionary{``0,``1},``0,``1)">
            <summary>
            Gets the value for a given key if a matching key exists in the dictionary.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="dictionary">The dictionary to retrieve the value from.</param>
            <param name="key">The key to search for.</param>
            <param name="defaultValue">The default value to return if no matching key is found in the dictionary.</param>
            <returns>
            The value for the key, or <paramref name="defaultValue"/> if no matching key was found.
            </returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2">
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Builder"/> class.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Comparers"/> class.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Enumerator"/> struct.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/> struct.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.MutationInput"/> class.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.MutationResult"/> class.
            </content>
            <summary>
            An immutable unordered dictionary implementation.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.Builder">
            <summary>
            A dictionary that mutates with little or no memory allocations,
            can produce and/or build on immutable dictionary instances very efficiently.
            </summary>
            <remarks>
            <para>
            While <see cref="M:System.Collections.Immutable.ImmutableDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})"/>
            and other bulk change methods already provide fast bulk change operations on the collection, this class allows
            multiple combinations of changes to be made to a set with equal efficiency.
            </para>
            <para>
            Instance members of this class are <em>not</em> thread-safe.
            </para>
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Builder._root">
            <summary>
            The root of the binary tree that stores the collection.  Contents are typically not entirely frozen.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Builder._comparers">
            <summary>
            The comparers.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Builder._count">
            <summary>
            The number of elements in this collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Builder._immutable">
            <summary>
            Caches an immutable instance that represents the current state of the collection.
            </summary>
            <value>Null if no immutable view has been created for the current version.</value>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Builder._version">
            <summary>
            A number that increments every time the builder changes its contents.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Builder._syncRoot">
            <summary>
            The object callers may use to synchronize access to this collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.#ctor(System.Collections.Immutable.ImmutableDictionary{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Builder"/> class.
            </summary>
            <param name="map">The map that serves as the basis for this Builder.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.KeyComparer">
            <summary>
            Gets or sets the key comparer.
            </summary>
            <value>
            The key comparer.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.ValueComparer">
            <summary>
            Gets or sets the value comparer.
            </summary>
            <value>
            The value comparer.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <returns>The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Keys">
            <summary>
            See <see cref="T:System.Collections.Generic.IReadOnlyDictionary`2"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey,TValue}#Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Values">
            <summary>
            See <see cref="T:System.Collections.Generic.IReadOnlyDictionary`2"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey,TValue}#Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary"/> object has a fixed size.
            </summary>
            <returns>true if the <see cref="T:System.Collections.IDictionary"/> object has a fixed size; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
            <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IDictionary"/> object contains an element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:System.Collections.IDictionary"/> object.</param>
            <returns>
            true if the <see cref="T:System.Collections.IDictionary"/> contains an element with the key; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The key of the element to remove.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns></returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Version">
            <summary>
            Gets the current version of the contents of this builder.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Origin">
            <summary>
            Gets the initial data to pass to a query or mutation method.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Root">
            <summary>
            Gets or sets the root of this data structure.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Item(`0)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <returns>The element with the specified key.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key"/> is not found.</exception>
            <exception cref="T:System.NotSupportedException">The property is set and the <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Adds a sequence of values to this collection.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes any entries from the dictionaries with keys that match those found in the specified sequence.
            </summary>
            <param name="keys">The keys for entries to remove from the dictionary.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.GetValueOrDefault(`0)">
            <summary>
            Gets the value for a given key if a matching key exists in the dictionary.
            </summary>
            <param name="key">The key to search for.</param>
            <returns>The value for the key, or the default value of type <typeparamref name="TValue"/> if no matching key was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.GetValueOrDefault(`0,`1)">
            <summary>
            Gets the value for a given key if a matching key exists in the dictionary.
            </summary>
            <param name="key">The key to search for.</param>
            <param name="defaultValue">The default value to return if no matching key is found in the dictionary.</param>
            <returns>
            The value for the key, or <paramref name="defaultValue"/> if no matching key was found.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.ToImmutable">
            <summary>
            Creates an immutable dictionary based on the contents of this instance.
            </summary>
            <returns>An immutable map.</returns>
            <remarks>
            This method is an O(n) operation, and approaches O(1) time as the number of
            actual mutations to the set since the last call to this method approaches 0.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Add(`0,`1)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The object to use as the key of the element to add.</param>
            <param name="value">The object to use as the value of the element to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception>
            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.</exception>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.ContainsKey(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2"/> contains an element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.</param>
            <returns>
            true if the <see cref="T:System.Collections.Generic.IDictionary`2"/> contains an element with the key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.ContainsValue(`1)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/>
            contains an element with the specified value.
            </summary>
            <param name="value">
            The value to locate in the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/>.
            The value can be null for reference types.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/> contains
            an element with the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>
            true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key"/> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception>
              
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.TryGetValue(`0,`1@)">
            <summary>
            Gets the value associated with the specified key.
            </summary>
            <param name="key">The key whose value to get.</param>
            <param name="value">When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value of the type <typeparamref name="TValue"/>. This parameter is passed uninitialized.</param>
            <returns>
            true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/> contains an element with the specified key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.TryGetKey(`0,`0@)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <returns>
            true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <returns>
            true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </returns>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Apply(System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationResult)">
            <summary>
            Applies the result of some mutation operation to this instance.
            </summary>
            <param name="result">The result.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.Comparers">
            <summary>
            A shareable container for the comparers used by an immutable dictionary.
            </summary>
            <remarks>
            To reduce allocations, we directly implement the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/> and Key-Only comparers,
            but we try to keep this an implementation detail by exposing properties that return
            references for these particular facilities, that are implemented as returning "this".
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Comparers.Default">
            <summary>
            The default instance to use when all the comparers used are their default values.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Comparers._keyComparer">
            <summary>
            The equality comparer to use for the key.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Comparers._valueComparer">
            <summary>
            The value comparer.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Comparers.#ctor(System.Collections.Generic.IEqualityComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Comparers"/> class.
            </summary>
            <param name="keyComparer">The key only comparer.</param>
            <param name="valueComparer">The value comparer.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Comparers.KeyComparer">
            <summary>
            Gets the key comparer.
            </summary>
            <value>
            The key comparer.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Comparers.KeyOnlyComparer">
            <summary>
            Gets the key only comparer.
            </summary>
            <value>
            The key only comparer.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Comparers.ValueComparer">
            <summary>
            Gets the value comparer.
            </summary>
            <value>
            The value comparer.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Comparers.HashBucketEqualityComparer">
            <summary>
            Gets the equality comparer to use with hash buckets.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Comparers.Equals(System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket,System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket)">
            <summary>
            Determines whether the specified objects are equal.
            </summary>
            <param name="x">The first object to compare.</param>
            <param name="y">The second object to compare.</param>
            <returns>
            true if the specified objects are equal; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Comparers.GetHashCode(System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket)">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <param name="obj">The obj.</param>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Comparers.System#Collections#Generic#IEqualityComparer{System#Collections#Generic#KeyValuePair{TKey,TValue}}#Equals(System.Collections.Generic.KeyValuePair{`0,`1},System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines whether the specified objects are equal.
            </summary>
            <param name="x">The first object to compare.</param>
            <param name="y">The second object to compare.</param>
            <returns>
            true if the specified objects are equal; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Comparers.System#Collections#Generic#IEqualityComparer{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetHashCode(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <param name="obj">The obj.</param>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Comparers.Get(System.Collections.Generic.IEqualityComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Gets an instance that refers to the specified combination of comparers.
            </summary>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <returns>An instance of <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Comparers"/></returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Comparers.WithValueComparer(System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Returns an instance of <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Comparers"/> that shares the same key comparers
            with this instance, but uses the specified value comparer.
            </summary>
            <param name="valueComparer">The new value comparer to use.</param>
            <returns>A new instance of <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Comparers"/></returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.Enumerator">
            <summary>
            Enumerates the contents of the collection in an allocation-free manner.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Enumerator._builder">
            <summary>
            The builder being enumerated, if applicable.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Enumerator._mapEnumerator">
            <summary>
            The enumerator over the sorted dictionary whose keys are hash values.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Enumerator._bucketEnumerator">
            <summary>
            The enumerator in use within an individual <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/>.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Enumerator._enumeratingBuilderVersion">
            <summary>
            The version of the builder (when applicable) that is being enumerated.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket},System.Collections.Immutable.ImmutableDictionary{`0,`1}.Builder)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Enumerator"/> struct.
            </summary>
            <param name="root">The root.</param>
            <param name="builder">The builder, if applicable.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
            <returns>
            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.ThrowIfChanged">
            <summary>
            Throws an exception if the underlying builder's contents have been changed since enumeration started.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the collection has changed.</exception>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket">
            <summary>
            Contains all the key/values in the collection that hash to the same value.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket._firstValue">
            <summary>
            One of the values in this bucket.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket._additionalElements">
            <summary>
            Any other elements that hash to the same value.
            </summary>
            <value>
            This is null if and only if the entire bucket is empty (including <see cref="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket._firstValue"/>).  
            It's empty if <see cref="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket._firstValue"/> has an element but no additional elements.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.#ctor(System.Collections.Generic.KeyValuePair{`0,`1},System.Collections.Immutable.ImmutableList{System.Collections.Generic.KeyValuePair{`0,`1}}.Node)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/> struct.
            </summary>
            <param name="firstElement">The first element.</param>
            <param name="additionalElements">The additional elements.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
              <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.FirstValue">
            <summary>
            Gets the first value in this bucket.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.AdditionalElements">
            <summary>
            Gets the list of additional (hash collision) elements.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.System#IEquatable{System#Collections#Immutable#ImmutableDictionary{TKey,TValue}#HashBucket}#Equals(System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket)">
            <summary>
            Throws an exception to catch any errors in comparing <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/> instances.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Add(`0,`1,System.Collections.Generic.IEqualityComparer{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`1},System.Collections.Immutable.ImmutableDictionary{`0,`1}.KeyCollisionBehavior,System.Collections.Immutable.ImmutableDictionary{`0,`1}.OperationResult@)">
            <summary>
            Adds the specified key.
            </summary>
            <param name="key">The key to add.</param>
            <param name="value">The value to add.</param>
            <param name="keyOnlyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="behavior">The intended behavior for certain cases that may come up during the operation.</param>
            <param name="result">A description of the effect was on adding an element to this <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/>.</param>
            <returns>A new <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/> that contains the added value and any values already held by this <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/>.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Remove(`0,System.Collections.Generic.IEqualityComparer{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Immutable.ImmutableDictionary{`0,`1}.OperationResult@)">
            <summary>
            Removes the specified value if it exists in the collection.
            </summary>
            <param name="key">The key to remove.</param>
            <param name="keyOnlyComparer">The equality comparer.</param>
            <param name="result">A description of the effect was on adding an element to this <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/>.</param>
            <returns>A new <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/> that does not contain the removed value and any values already held by this <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/>.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.TryGetValue(`0,System.Collections.Generic.IEqualityComparer{System.Collections.Generic.KeyValuePair{`0,`1}},`1@)">
            <summary>
            Gets the value for the given key in the collection if one exists..
            </summary>
            <param name="key">The key to search for.</param>
            <param name="keyOnlyComparer">The key comparer.</param>
            <param name="value">The value for the given key.</param>
            <returns>A value indicating whether the key was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.TryGetKey(`0,System.Collections.Generic.IEqualityComparer{System.Collections.Generic.KeyValuePair{`0,`1}},`0@)">
            <summary>
            Searches the dictionary for a given key and returns the equal key it finds, if any.
            </summary>
            <param name="equalKey">The key to search for.</param>
            <param name="keyOnlyComparer">The key comparer.</param>
            <param name="actualKey">The key from the dictionary that the search found, or <paramref name="equalKey"/> if the search yielded no match.</param>
            <returns>A value indicating whether the search was successful.</returns>
            <remarks>
            This can be useful when you want to reuse a previously stored reference instead of
            a newly constructed one (so that more sharing of references can occur) or to look up
            the canonical value, or a value that has more complete data than the value you currently have,
            although their comparer functions indicate they are equal.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Freeze">
            <summary>
            Freezes this instance so that any further mutations require new memory allocations.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator">
            <summary>
            Enumerates all the elements in this instance.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator._bucket">
            <summary>
            The bucket being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator._currentPosition">
            <summary>
            The current position of this enumerator.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator._additionalEnumerator">
            <summary>
            The enumerator that represents the current position over the <see cref="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket._additionalElements"/> of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.#ctor(System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator"/> struct.
            </summary>
            <param name="bucket">The bucket.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Position">
            <summary>
            Describes the positions the enumerator state machine may be in.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Position.BeforeFirst">
            <summary>
            The first element has not yet been moved to.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Position.First">
            <summary>
            We're at the <see cref="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket._firstValue"/> of the containing bucket.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Position.Additional">
            <summary>
            We're enumerating the <see cref="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket._additionalElements"/> in the bucket.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Position.End">
            <summary>
            The end of enumeration has been reached.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
            <returns>
            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.HashBucket.Enumerator.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.MutationInput">
            <summary>
            Description of the current data structure as input into a
            mutating or query method.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.MutationInput._root">
            <summary>
            The root of the data structure for the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.MutationInput._comparers">
            <summary>
            The comparer used when comparing hash buckets.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.MutationInput._count">
            <summary>
            The current number of elements in the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket},System.Collections.Immutable.ImmutableDictionary{`0,`1}.Comparers,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.MutationInput"/> struct.
            </summary>
            <param name="root">The root.</param>
            <param name="comparers">The comparers.</param>
            <param name="count">The current number of elements in the collection.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.#ctor(System.Collections.Immutable.ImmutableDictionary{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.MutationInput"/> struct.
            </summary>
            <param name="map">The map.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.Root">
            <summary>
            Gets the root of the data structure for the collection.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.KeyComparer">
            <summary>
            Gets the key comparer.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.KeyOnlyComparer">
            <summary>
            Gets the key only comparer.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.ValueComparer">
            <summary>
            Gets the value comparer.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.HashBucketComparer">
            <summary>
            Gets the comparers.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationInput.Count">
            <summary>
            Gets the current number of elements in the collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.MutationResult">
            <summary>
            Describes the result of a mutation on the immutable data structure.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.MutationResult._root">
            <summary>
            The root node of the data structure after the mutation.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.MutationResult._countAdjustment">
            <summary>
            The number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements).
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.MutationResult.#ctor(System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.MutationResult"/> struct.
            </summary>
            <param name="unchangedInput">The unchanged input.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.MutationResult.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.MutationResult"/> struct.
            </summary>
            <param name="root">The root.</param>
            <param name="countAdjustment">The count adjustment.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationResult.Root">
            <summary>
            Gets the root node of the data structure after the mutation.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.MutationResult.CountAdjustment">
            <summary>
            Gets the number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements).
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.MutationResult.Finalize(System.Collections.Immutable.ImmutableDictionary{`0,`1})">
            <summary>
            Returns an immutable dictionary that captures the result of this mutation.
            </summary>
            <param name="priorMap">The prior version of the map.  Used to capture the equality comparer and previous count, when applicable.</param>
            <returns>The new collection.</returns>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Empty">
            <summary>
            An empty immutable dictionary with default equality comparers.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.s_FreezeBucketAction">
            <summary>
            The singleton delegate that freezes the contents of hash buckets when the root of the data structure is frozen.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2._count">
            <summary>
            The number of elements in the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2._root">
            <summary>
            The root node of the tree that stores this map.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2._comparers">
            <summary>
            The comparer used when comparing hash buckets.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket},System.Collections.Immutable.ImmutableDictionary{`0,`1}.Comparers,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/> class.
            </summary>
            <param name="root">The root.</param>
            <param name="comparers">The comparers.</param>
            <param name="count">The number of elements in the map.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.#ctor(System.Collections.Immutable.ImmutableDictionary{`0,`1}.Comparers)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/> class.
            </summary>
            <param name="comparers">The comparers.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.KeyCollisionBehavior">
            <summary>
            How to respond when a key collision is discovered.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.KeyCollisionBehavior.SetValue">
            <summary>
            Sets the value for the given key, even if that overwrites an existing value.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.KeyCollisionBehavior.Skip">
            <summary>
            Skips the mutating operation if a key conflict is detected.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.KeyCollisionBehavior.ThrowIfValueDifferent">
            <summary>
            Throw an exception if the key already exists with a different key.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.KeyCollisionBehavior.ThrowAlways">
            <summary>
            Throw an exception if the key already exists regardless of its value.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionary`2.OperationResult">
            <summary>
            The result of a mutation operation.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.OperationResult.AppliedWithoutSizeChange">
            <summary>
            The change was applied and did not require a change to the number of elements in the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.OperationResult.SizeChanged">
            <summary>
            The change required element(s) to be added or removed from the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionary`2.OperationResult.NoChangeRequired">
            <summary>
            No change was required (the operation ended in a no-op).
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Count">
            <summary>
            Gets the number of elements in this collection.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
              <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.KeyComparer">
            <summary>
            Gets the key comparer.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.ValueComparer">
            <summary>
            Gets the value comparer used to determine whether values are equal.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Keys">
            <summary>
            Gets the keys in the map.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Values">
            <summary>
            Gets the values in the map.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#Clear">
            <summary>
            Gets the empty instance.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Keys">
            <summary>
            Gets the keys.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Values">
            <summary>
            Gets the values.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Origin">
            <summary>
            Gets a data structure that captures the current state of this map, as an input into a query or mutating function.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Item(`0)">
            <summary>
            Gets the <typeparamref name="TValue"/> with the specified key.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Item(`0)">
            <summary>
            Gets or sets the <typeparamref name="TValue"/> with the specified key.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.ToBuilder">
            <summary>
            Creates a collection with the same contents as this collection that
            can be efficiently mutated across multiple operations using standard
            mutable interfaces.
            </summary>
            <remarks>
            This is an O(1) operation and results in only a single (small) memory allocation.
            The mutable collection that is returned is *not* thread-safe.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Add(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.SetItem(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary.
            </summary>
            <param name="items">The key=value pairs to set on the map.  Any keys that conflict with existing keys will overwrite the previous values.</param>
            <returns>An immutable dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.ContainsKey(`0)">
            <summary>
            Determines whether the specified key contains key.
            </summary>
            <param name="key">The key.</param>
            <returns>
              <c>true</c> if the specified key contains key; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines whether [contains] [the specified key value pair].
            </summary>
            <param name="pair">The key value pair.</param>
            <returns>
              <c>true</c> if [contains] [the specified key value pair]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.TryGetKey(`0,`0@)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.WithComparers(System.Collections.Generic.IEqualityComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.WithComparers(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.ContainsValue(`1)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/>
            contains an element with the specified value.
            </summary>
            <param name="value">
            The value to locate in the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/>.
            The value can be null for reference types.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/> contains
            an element with the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#Add(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#SetItem(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary.
            </summary>
            <param name="items">The key=value pairs to set on the map.  Any keys that conflict with existing keys will overwrite the previous values.</param>
            <returns>An immutable dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Add(`0,`1)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The object to use as the key of the element to add.</param>
            <param name="value">The object to use as the value of the element to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>
            true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key"/> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.
            </exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary"/> object has a fixed size.
            </summary>
            <returns>true if the <see cref="T:System.Collections.IDictionary"/> object has a fixed size; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Root">
            <summary>
            Gets the root node (for testing purposes).
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
            <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IDictionary"/> object contains an element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:System.Collections.IDictionary"/> object.</param>
            <returns>
            true if the <see cref="T:System.Collections.IDictionary"/> contains an element with the key; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The key of the element to remove.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns></returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Clear">
            <summary>
            Clears this instance.
            </summary>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.EmptyWithComparers(System.Collections.Immutable.ImmutableDictionary{`0,`1}.Comparers)">
            <summary>
            Gets an empty collection with the specified comparers.
            </summary>
            <param name="comparers">The comparers.</param>
            <returns>The empty dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.TryCastToImmutableMap(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Immutable.ImmutableDictionary{`0,`1}@)">
            <summary>
            Attempts to discover an <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/> instance beneath some enumerable sequence
            if one exists.
            </summary>
            <param name="sequence">The sequence that may have come from an immutable map.</param>
            <param name="other">Receives the concrete <see cref="T:System.Collections.Immutable.ImmutableDictionary`2"/> typed value if one can be found.</param>
            <returns><c>true</c> if the cast was successful; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.ContainsKey(`0,System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput)">
            <summary>
            Performs the operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1},System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput)">
            <summary>
            Performs the operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.TryGetValue(`0,System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput,`1@)">
            <summary>
            Performs the operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.TryGetKey(`0,System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput,`0@)">
            <summary>
            Performs the operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Add(`0,`1,System.Collections.Immutable.ImmutableDictionary{`0,`1}.KeyCollisionBehavior,System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput)">
            <summary>
            Performs the operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput,System.Collections.Immutable.ImmutableDictionary{`0,`1}.KeyCollisionBehavior)">
            <summary>
            Performs the operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Remove(`0,System.Collections.Immutable.ImmutableDictionary{`0,`1}.MutationInput)">
            <summary>
            Performs the operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.UpdateRoot(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket},System.Int32,System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket,System.Collections.Generic.IEqualityComparer{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket})">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Wrap(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket},System.Collections.Immutable.ImmutableDictionary{`0,`1}.Comparers,System.Int32)">
            <summary>
            Wraps the specified data structure with an immutable collection wrapper.
            </summary>
            <param name="root">The root of the data structure.</param>
            <param name="comparers">The comparers.</param>
            <param name="count">The number of elements in the data structure.</param>
            <returns>
            The immutable collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Wrap(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableDictionary{`0,`1}.HashBucket},System.Int32)">
            <summary>
            Wraps the specified data structure with an immutable collection wrapper.
            </summary>
            <param name="root">The root of the data structure.</param>
            <param name="adjustedCountIfDifferentRoot">The adjusted count if the root has changed.</param>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Boolean)">
            <summary>
            Bulk adds entries to the map.
            </summary>
            <param name="pairs">The entries to add.</param>
            <param name="avoidToHashMap"><c>true</c> when being called from <see cref="M:System.Collections.Immutable.ImmutableDictionary`2.WithComparers(System.Collections.Generic.IEqualityComparer{`0},System.Collections.Generic.IEqualityComparer{`1})"/> to avoid <see cref="T:System.StackOverflowException"/>.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionaryBuilderDebuggerProxy`2">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionaryBuilderDebuggerProxy`2._map">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionaryBuilderDebuggerProxy`2._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionaryBuilderDebuggerProxy`2.#ctor(System.Collections.Immutable.ImmutableDictionary{`0,`1}.Builder)">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionaryBuilderDebuggerProxy`2"/> class.
            </summary>
            <param name="map">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionaryBuilderDebuggerProxy`2.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableDictionaryDebuggerProxy`2">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionaryDebuggerProxy`2._map">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableDictionaryDebuggerProxy`2._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableDictionaryDebuggerProxy`2.#ctor(System.Collections.Immutable.ImmutableDictionary{`0,`1})">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionaryDebuggerProxy`2"/> class.
            </summary>
            <param name="map">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableDictionaryDebuggerProxy`2.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableExtensions">
            <summary>
            Extension methods for immutable types.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.TryGetCount``1(System.Collections.Generic.IEnumerable{``0},System.Int32@)">
            <summary>
            Tries to divine the number of elements in a sequence without actually enumerating each element.
            </summary>
            <typeparam name="T">The type of elements in the sequence.</typeparam>
            <param name="sequence">The enumerable source.</param>
            <param name="count">Receives the number of elements in the enumeration, if it could be determined.</param>
            <returns><c>true</c> if the count could be determined; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.TryGetCount``1(System.Collections.IEnumerable,System.Int32@)">
            <summary>
            Tries to divine the number of elements in a sequence without actually enumerating each element.
            </summary>
            <typeparam name="T">The type of elements in the sequence.</typeparam>
            <param name="sequence">The enumerable source.</param>
            <param name="count">Receives the number of elements in the enumeration, if it could be determined.</param>
            <returns><c>true</c> if the count could be determined; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.GetCount``1(System.Collections.Generic.IEnumerable{``0}@)">
            <summary>
            Gets the number of elements in the specified sequence,
            while guaranteeing that the sequence is only enumerated once
            in total by this method and the caller.
            </summary>
            <typeparam name="T">The type of element in the collection.</typeparam>
            <param name="sequence">The sequence.</param>
            <returns>The number of elements in the sequence.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.ToArray``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Gets a copy of a sequence as an array.
            </summary>
            <typeparam name="T">The type of element.</typeparam>
            <param name="sequence">The sequence to be copied.</param>
            <param name="count">The number of elements in the sequence.</param>
            <returns>The array.</returns>
            <remarks>
            This is more efficient than the <see cref="M:System.Linq.Enumerable.ToArray``1(System.Collections.Generic.IEnumerable{``0})"/> extension method
            because that only tries to cast the sequence to <see cref="T:System.Collections.Generic.ICollection`1"/> to determine
            the count before it falls back to reallocating arrays as it enumerates.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.AsOrderedCollection``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Provides a known wrapper around a sequence of elements that provides the number of elements
            and an indexer into its contents.
            </summary>
            <typeparam name="T">The type of elements in the collection.</typeparam>
            <param name="sequence">The collection.</param>
            <returns>An ordered collection.  May not be thread-safe.  Never null.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.ClearFastWhenEmpty``1(System.Collections.Generic.Stack{``0})">
            <summary>
            Clears the specified stack.  For empty stacks, it avoids the call to <see cref="M:System.Collections.Generic.Stack`1.Clear"/>, which
            avoids a call into the runtime's implementation of <see cref="M:System.Array.Clear(System.Array,System.Int32,System.Int32)"/>, helping performance,
            in particular around inlining.  <see cref="P:System.Collections.Generic.Stack`1.Count"/> typically gets inlined by today's JIT, while
            <see cref="M:System.Collections.Generic.Stack`1.Clear"/> and <see cref="M:System.Array.Clear(System.Array,System.Int32,System.Int32)"/> typically don't.
            </summary>
            <typeparam name="T">Specifies the type of data in the stack to be cleared.</typeparam>
            <param name="stack">The stack to clear.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.GetEnumerableDisposable``2(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Gets a disposable enumerable that can be used as the source for a C# foreach loop
            that will not box the enumerator if it is of a particular type.
            </summary>
            <typeparam name="T">The type of value to be enumerated.</typeparam>
            <typeparam name="TEnumerator">The type of the Enumerator struct.</typeparam>
            <param name="enumerable">The collection to be enumerated.</param>
            <returns>A struct that enumerates the collection.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1">
            <summary>
            Wraps a <see cref="T:System.Collections.Generic.IList`1"/> as an ordered collection.
            </summary>
            <typeparam name="T">The type of element in the collection.</typeparam>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1._collection">
            <summary>
            The list being exposed.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1.#ctor(System.Collections.Generic.IList{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1"/> class.
            </summary>
            <param name="collection">The collection.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1.Count">
            <summary>
            Gets the count.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1.Item(System.Int32)">
            <summary>
            Gets the <typeparamref name="T"/> at the specified index.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.ListOfTWrapper`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1">
            <summary>
            Wraps any <see cref="T:System.Collections.Generic.IEnumerable`1"/> as an ordered, indexable list.
            </summary>
            <typeparam name="T">The type of element in the collection.</typeparam>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1._sequence">
            <summary>
            The original sequence.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1._collection">
            <summary>
            The list-ified sequence.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1"/> class.
            </summary>
            <param name="sequence">The sequence.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1.Count">
            <summary>
            Gets the count.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1.Item(System.Int32)">
            <summary>
            Gets the <typeparamref name="T"/> at the specified index.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableExtensions.FallbackWrapper`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableHashSet`1"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="equalityComparer">The equality comparer.</param>
            <returns>
            The immutable collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(``0)">
            <summary>
            Creates a new immutable collection prefilled with the specified item.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="item">The item to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(System.Collections.Generic.IEqualityComparer{``0},``0)">
            <summary>
            Creates a new immutable collection prefilled with the specified item.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="equalityComparer">The equality comparer.</param>
            <param name="item">The item to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateRange``1(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="equalityComparer">The equality comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(``0[])">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(System.Collections.Generic.IEqualityComparer{``0},``0[])">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="equalityComparer">The equality comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateBuilder``1">
            <summary>
            Creates a new immutable hash set builder.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateBuilder``1(System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Creates a new immutable hash set builder.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="equalityComparer">The equality comparer.</param>
            <returns>
            The immutable collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Enumerates a sequence exactly once and produces an immutable set of its contents.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <param name="source">The sequence to enumerate.</param>
            <param name="equalityComparer">The equality comparer to use for initializing and adding members to the hash set.</param>
            <returns>An immutable set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Enumerates a sequence exactly once and produces an immutable set of its contents.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <param name="source">The sequence to enumerate.</param>
            <returns>An immutable set.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1">
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.Builder"/> class.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.Enumerator"/> class.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/> struct.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.MutationInput"/> class.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.MutationResult"/> class.
            </content>
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable"/> class.
            </content>
            <summary>
            An immutable unordered hash set implementation.
            </summary>
            <typeparam name="T">The type of elements in the set.</typeparam>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.Builder">
            <summary>
            A hash set that mutates with little or no memory allocations,
            can produce and/or build on immutable hash set instances very efficiently.
            </summary>
            <remarks>
            <para>
            While <see cref="M:System.Collections.Immutable.ImmutableHashSet`1.Union(System.Collections.Generic.IEnumerable{`0})"/> and other bulk change methods
            already provide fast bulk change operations on the collection, this class allows
            multiple combinations of changes to be made to a set with equal efficiency.
            </para>
            <para>
            Instance members of this class are <em>not</em> thread-safe.
            </para>
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Builder._root">
            <summary>
            The root of the binary tree that stores the collection.  Contents are typically not entirely frozen.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Builder._equalityComparer">
            <summary>
            The equality comparer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Builder._count">
            <summary>
            The number of elements in this collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Builder._immutable">
            <summary>
            Caches an immutable instance that represents the current state of the collection.
            </summary>
            <value>Null if no immutable view has been created for the current version.</value>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Builder._version">
            <summary>
            A number that increments every time the builder changes its contents.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.#ctor(System.Collections.Immutable.ImmutableHashSet{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.Builder"/> class.
            </summary>
            <param name="set">The set.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <returns>The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.KeyComparer">
            <summary>
            Gets or sets the key comparer.
            </summary>
            <value>
            The key comparer.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.Version">
            <summary>
            Gets the current version of the contents of this builder.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.Origin">
            <summary>
            Gets the initial data to pass to a query or mutation method.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.Root">
            <summary>
            Gets or sets the root of this data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.ToImmutable">
            <summary>
            Creates an immutable hash set based on the contents of this instance.
            </summary>
            <returns>An immutable set.</returns>
            <remarks>
            This method is an O(n) operation, and approaches O(1) time as the number of
            actual mutations to the set since the last call to this method approaches 0.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Add(`0)">
            <summary>
            Adds the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>True if the item did not already belong to the collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <returns>
            true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </returns>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Contains(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <returns>
            true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes all elements in the specified collection from the current set.
            </summary>
            <param name="other">The collection of items to remove from the set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current set so that it contains only elements that are also in a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a proper (strict) subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a proper (strict) superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Overlaps(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set overlaps with the specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set and other share at least one common element; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.SetEquals(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set and the specified collection contain the same elements.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is equal to other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.UnionWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#ICollection{T}#Add(`0)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Apply(System.Collections.Immutable.ImmutableHashSet{`0}.MutationResult)">
            <summary>
            Applies the result of some mutation operation to this instance.
            </summary>
            <param name="result">The result.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.Enumerator">
            <summary>
            Enumerates the contents of the collection in an allocation-free manner.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Enumerator._builder">
            <summary>
            The builder being enumerated, if applicable.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Enumerator._mapEnumerator">
            <summary>
            The enumerator over the sorted dictionary whose keys are hash values.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Enumerator._bucketEnumerator">
            <summary>
            The enumerator in use within an individual HashBucket.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Enumerator._enumeratingBuilderVersion">
            <summary>
            The version of the builder (when applicable) that is being enumerated.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket},System.Collections.Immutable.ImmutableHashSet{`0}.Builder)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.Enumerator"/> struct.
            </summary>
            <param name="root">The root.</param>
            <param name="builder">The builder, if applicable.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
            <returns>
            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.ThrowIfChanged">
            <summary>
            Throws an exception if the underlying builder's contents have been changed since enumeration started.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the collection has changed.</exception>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.OperationResult">
            <summary>
            The result of a mutation operation.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.OperationResult.SizeChanged">
            <summary>
            The change required element(s) to be added or removed from the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.OperationResult.NoChangeRequired">
            <summary>
            No change was required (the operation ended in a no-op).
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket">
            <summary>
            Contains all the keys in the collection that hash to the same value.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket._firstValue">
            <summary>
            One of the values in this bucket.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket._additionalElements">
            <summary>
            Any other elements that hash to the same value.
            </summary>
            <value>
            This is null if and only if the entire bucket is empty (including <see cref="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket._firstValue"/>).  
            It's empty if <see cref="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket._firstValue"/> has an element but no additional elements.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.#ctor(`0,System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/> struct.
            </summary>
            <param name="firstElement">The first element.</param>
            <param name="additionalElements">The additional elements.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
              <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Add(`0,System.Collections.Generic.IEqualityComparer{`0},System.Collections.Immutable.ImmutableHashSet{`0}.OperationResult@)">
            <summary>
            Adds the specified value.
            </summary>
            <param name="value">The value.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="result">A description of the effect was on adding an element to this <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/>.</param>
            <returns>A new <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/> that contains the added value and any values already held by this <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/>.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Contains(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/> contains the specified value.
            </summary>
            <param name="value">The value.</param>
            <param name="valueComparer">The value comparer.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.TryExchange(`0,System.Collections.Generic.IEqualityComparer{`0},`0@)">
            <summary>
            Searches the set for a given value and returns the equal value it finds, if any.
            </summary>
            <param name="value">The value to search for.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="existingValue">The value from the set that the search found, or the original value if the search yielded no match.</param>
            <returns>
            A value indicating whether the search was successful.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Remove(`0,System.Collections.Generic.IEqualityComparer{`0},System.Collections.Immutable.ImmutableHashSet{`0}.OperationResult@)">
            <summary>
            Removes the specified value if it exists in the collection.
            </summary>
            <param name="value">The value.</param>
            <param name="equalityComparer">The equality comparer.</param>
            <param name="result">A description of the effect was on adding an element to this <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/>.</param>
            <returns>A new <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/> that does not contain the removed value and any values already held by this <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/>.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Freeze">
            <summary>
            Freezes this instance so that any further mutations require new memory allocations.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator">
            <summary>
            Enumerates all the elements in this instance.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator._bucket">
            <summary>
            The bucket being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator._disposed">
            <summary>
            A value indicating whether this enumerator has been disposed.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator._currentPosition">
            <summary>
            The current position of this enumerator.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator._additionalEnumerator">
            <summary>
            The enumerator that represents the current position over the <see cref="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket._additionalElements"/> of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.#ctor(System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator"/> struct.
            </summary>
            <param name="bucket">The bucket.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Position">
            <summary>
            Describes the positions the enumerator state machine may be in.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Position.BeforeFirst">
            <summary>
            The first element has not yet been moved to.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Position.First">
            <summary>
            We're at the <see cref="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket._firstValue"/> of the containing bucket.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Position.Additional">
            <summary>
            We're enumerating the <see cref="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket._additionalElements"/> in the bucket.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Position.End">
            <summary>
            The end of enumeration has been reached.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
            <returns>
            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.HashBucket.Enumerator.ThrowIfDisposed">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> if this enumerator has been disposed.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.MutationInput">
            <summary>
            Description of the current data structure as input into a
            mutating or query method.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.MutationInput._root">
            <summary>
            The root of the data structure for the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.MutationInput._equalityComparer">
            <summary>
            The equality comparer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.MutationInput._count">
            <summary>
            The current number of elements in the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.MutationInput.#ctor(System.Collections.Immutable.ImmutableHashSet{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.MutationInput"/> struct.
            </summary>
            <param name="set">The set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.MutationInput.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket},System.Collections.Generic.IEqualityComparer{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.MutationInput"/> struct.
            </summary>
            <param name="root">The root.</param>
            <param name="equalityComparer">The equality comparer.</param>
            <param name="count">The count.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.MutationInput.Root">
            <summary>
            Gets the root of the data structure for the collection.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.MutationInput.EqualityComparer">
            <summary>
            Gets the equality comparer.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.MutationInput.Count">
            <summary>
            Gets the current number of elements in the collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.CountType">
            <summary>
            Interpretations for a <see cref="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.Count"/> member.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.CountType.Adjustment">
            <summary>
            The <see cref="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.Count"/> member describes an adjustment to the previous count of the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.CountType.FinalValue">
            <summary>
            The <see cref="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.Count"/> member describes the actual count of the collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.MutationResult">
            <summary>
            Describes the result of a mutation on the immutable data structure.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.MutationResult._root">
            <summary>
            The root node of the data structure after the mutation.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.MutationResult._count">
            <summary>
            Either the number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements),
            or the total number of elements in the collection after the mutation.  The appropriate interpretation of this value is indicated by the 
            <see cref="F:System.Collections.Immutable.ImmutableHashSet`1.MutationResult._countType"/> field.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.MutationResult._countType">
            <summary>
            Whether to consider the <see cref="F:System.Collections.Immutable.ImmutableHashSet`1.MutationResult._count"/> field to be a count adjustment or total count.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket},System.Int32,System.Collections.Immutable.ImmutableHashSet{`0}.CountType)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.MutationResult"/> struct.
            </summary>
            <param name="root">The root node of the result.</param>
            <param name="count">The total element count or a count adjustment.</param>
            <param name="countType">The appropriate interpretation for the <paramref name="count"/> parameter.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.Root">
            <summary>
            Gets the root node of the data structure after the mutation.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.Count">
            <summary>
            Gets either the number of elements added or removed from the collection as a result of the operation (a negative number represents removed elements),
            or the total number of elements in the collection after the mutation.  The appropriate interpretation of this value is indicated by the 
            <see cref="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.CountType"/> property.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.CountType">
            <summary>
            Gets the appropriate interpretation for the <see cref="P:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.Count"/> property; whether to be a count adjustment or total count.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.MutationResult.Finalize(System.Collections.Immutable.ImmutableHashSet{`0})">
            <summary>
            Returns an immutable hash set that captures the result of this mutation.
            </summary>
            <param name="priorSet">The prior version of the set.  Used to capture the equality comparer and previous count, when applicable.</param>
            <returns>The new collection.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable">
            <summary>
            Enumerates over a sorted dictionary used for hash buckets.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable._root">
            <summary>
            The root of the sorted dictionary to enumerate.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable"/> struct.
            </summary>
            <param name="root">The root.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.NodeEnumerable.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Empty">
            <summary>
            An empty immutable hash set with the default comparer for <typeparamref name="T"/>.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1.s_FreezeBucketAction">
            <summary>
            The singleton delegate that freezes the contents of hash buckets when the root of the data structure is frozen.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1._equalityComparer">
            <summary>
            The equality comparer used to hash the elements in the collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1._count">
            <summary>
            The number of elements in this collection.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSet`1._root">
            <summary>
            The sorted dictionary that this hash set wraps.  The key is the hash code and the value is the bucket of all items that hashed to it.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1"/> class.
            </summary>
            <param name="equalityComparer">The equality comparer.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.#ctor(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket},System.Collections.Generic.IEqualityComparer{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1"/> class.
            </summary>
            <param name="root">The sorted set that this set wraps.</param>
            <param name="equalityComparer">The equality comparer used by this instance.</param>
            <param name="count">The number of elements in this collection.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Count">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.IsEmpty">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.KeyComparer">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#ICollection#SyncRoot">
            <summary>
            See <see cref="T:System.Collections.ICollection"/>.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#ICollection#IsSynchronized">
            <summary>
            See the <see cref="T:System.Collections.ICollection"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Root">
            <summary>
            Gets the root node (for testing purposes).
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Origin">
            <summary>
            Gets a data structure that captures the current state of this map, as an input into a query or mutating function.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.ToBuilder">
            <summary>
            Creates a collection with the same contents as this collection that
            can be efficiently mutated across multiple operations using standard
            mutable interfaces.
            </summary>
            <remarks>
            This is an O(1) operation and results in only a single (small) memory allocation.
            The mutable collection that is returned is *not* thread-safe.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.TryGetValue(`0,`0@)">
            <summary>
            Searches the set for a given value and returns the equal value it finds, if any.
            </summary>
            <param name="equalValue">The value to search for.</param>
            <param name="actualValue">The value from the set that the search found, or the original value if the search yielded no match.</param>
            <returns>A value indicating whether the search was successful.</returns>
            <remarks>
            This can be useful when you want to reuse a previously stored reference instead of 
            a newly constructed one (so that more sharing of references can occur) or to look up
            a value that has more complete data than the value you currently have, although their
            comparer functions indicate they are equal.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Union(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Intersect(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Except(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Produces a set that contains elements either in this set or a given sequence, but not both.
            </summary>
            <param name="other">The other sequence of items.</param>
            <returns>The new set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Checks whether a given sequence of items entirely describe the contents of this set.
            </summary>
            <param name="other">The sequence of items to check against this set.</param>
            <returns>A value indicating whether the sets are equal.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a property (strict) subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a correct superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct superset of <paramref name="other"/>; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a set is a subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a subset of <paramref name="other"/>; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a superset of <paramref name="other"/>; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set overlaps with the specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Union(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Intersect(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Except(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Produces a set that contains elements either in this set or a given sequence, but not both.
            </summary>
            <param name="other">The other sequence of items.</param>
            <returns>The new set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Contains(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.WithComparer(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#Add(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#Clear">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Add(`0,System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Remove(`0,System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Contains(`0,System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Union(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.UpdateRoot(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket},System.Int32,System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Intersect(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Except(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0},System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket})">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.SymmetricExcept(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableHashSet{`0}.MutationInput)">
            <summary>
            Performs the set operation on a given data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Wrap(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket},System.Collections.Generic.IEqualityComparer{`0},System.Int32)">
            <summary>
            Wraps the specified data structure with an immutable collection wrapper.
            </summary>
            <param name="root">The root of the data structure.</param>
            <param name="equalityComparer">The equality comparer.</param>
            <param name="count">The number of elements in the data structure.</param>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Wrap(System.Collections.Immutable.SortedInt32KeyNode{System.Collections.Immutable.ImmutableHashSet{`0}.HashBucket},System.Int32)">
            <summary>
            Wraps the specified data structure with an immutable collection wrapper.
            </summary>
            <param name="root">The root of the data structure.</param>
            <param name="adjustedCountIfDifferentRoot">The adjusted count if the root has changed.</param>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Union(System.Collections.Generic.IEnumerable{`0},System.Boolean)">
            <summary>
            Bulk adds entries to the set.
            </summary>
            <param name="items">The entries to add.</param>
            <param name="avoidWithComparer"><c>true</c> when being called from <see cref="M:System.Collections.Immutable.ImmutableHashSet`1.WithComparer(System.Collections.Generic.IEqualityComparer{`0})"/> to avoid <see cref="T:System.StackOverflowException"/>.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableHashSetDebuggerProxy`1">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSetDebuggerProxy`1._set">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableHashSetDebuggerProxy`1._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableHashSetDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableHashSet{`0})">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSetDebuggerProxy`1"/> class.
            </summary>
            <param name="set">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableHashSetDebuggerProxy`1.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableInterlocked">
            <summary>
            Contains interlocked exchange mechanisms for immutable collections.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.Update``1(``0@,System.Func{``0,``0})">
            <summary>
            Mutates a value in-place with optimistic locking transaction semantics
            via a specified transformation function.
            The transformation is retried as many times as necessary to win the optimistic locking race.
            </summary>
            <typeparam name="T">The type of data.</typeparam>
            <param name="location">
            The variable or field to be changed, which may be accessed by multiple threads.
            </param>
            <param name="transformer">
            A function that mutates the value. This function should be side-effect free, 
            as it may run multiple times when races occur with other threads.</param>
            <returns>
            <c>true</c> if the location's value is changed by applying the result of the 
            <paramref name="transformer"/> function;
            <c>false</c> if the location's value remained the same because the last 
            invocation of <paramref name="transformer"/> returned the existing value.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.Update``2(``0@,System.Func{``0,``1,``0},``1)">
            <summary>
            Mutates a value in-place with optimistic locking transaction semantics
            via a specified transformation function.
            The transformation is retried as many times as necessary to win the optimistic locking race.
            </summary>
            <typeparam name="T">The type of data.</typeparam>
            <typeparam name="TArg">The type of argument passed to the <paramref name="transformer"/>.</typeparam>
            <param name="location">
            The variable or field to be changed, which may be accessed by multiple threads.
            </param>
            <param name="transformer">
            A function that mutates the value. This function should be side-effect free, 
            as it may run multiple times when races occur with other threads.</param>
            <param name="transformerArgument">The argument to pass to <paramref name="transformer"/>.</param>
            <returns>
            <c>true</c> if the location's value is changed by applying the result of the 
            <paramref name="transformer"/> function;
            <c>false</c> if the location's value remained the same because the last 
            invocation of <paramref name="transformer"/> returned the existing value.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.InterlockedExchange``1(System.Collections.Immutable.ImmutableArray{``0}@,System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Assigns a field or variable containing an immutable array to the specified value and returns the previous value.
            </summary>
            <typeparam name="T">The type of element stored by the array.</typeparam>
            <param name="location">The field or local variable to change.</param>
            <param name="value">The new value to assign.</param>
            <returns>The prior value at the specified <paramref name="location"/>.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.InterlockedCompareExchange``1(System.Collections.Immutable.ImmutableArray{``0}@,System.Collections.Immutable.ImmutableArray{``0},System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Assigns a field or variable containing an immutable array to the specified value
            if it is currently equal to another specified value. Returns the previous value.
            </summary>
            <typeparam name="T">The type of element stored by the array.</typeparam>
            <param name="location">The field or local variable to change.</param>
            <param name="value">The new value to assign.</param>
            <param name="comparand">The value to check equality for before assigning.</param>
            <returns>The prior value at the specified <paramref name="location"/>.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.InterlockedInitialize``1(System.Collections.Immutable.ImmutableArray{``0}@,System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Assigns a field or variable containing an immutable array to the specified value
            if it is has not yet been initialized.
            </summary>
            <typeparam name="T">The type of element stored by the array.</typeparam>
            <param name="location">The field or local variable to change.</param>
            <param name="value">The new value to assign.</param>
            <returns>True if the field was assigned the specified value; <c>false</c> if it was previously initialized.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.GetOrAdd``3(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,System.Func{``0,``2,``1},``2)">
            <summary>
            Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <typeparam name="TArg">The type of argument supplied to the value factory.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key for the value to retrieve or add.</param>
            <param name="valueFactory">The function to execute to obtain the value to insert into the dictionary if the key is not found.</param>
            <param name="factoryArgument">The argument to pass to the value factory.</param>
            <returns>The value obtained from the dictionary or <paramref name="valueFactory"/> if it was not present.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.GetOrAdd``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,System.Func{``0,``1})">
            <summary>
            Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key for the value to retrieve or add.</param>
            <param name="valueFactory">
            The function to execute to obtain the value to insert into the dictionary if the key is not found.
            This delegate will not be invoked more than once.
            </param>
            <returns>The value obtained from the dictionary or <paramref name="valueFactory"/> if it was not present.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.GetOrAdd``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1)">
            <summary>
            Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key for the value to retrieve or add.</param>
            <param name="value">The value to add to the dictionary if one is not already present.</param>
            <returns>The value obtained from the dictionary or <paramref name="value"/> if it was not present.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.AddOrUpdate``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,System.Func{``0,``1},System.Func{``0,``1,``1})">
            <summary>
            Obtains the value from a dictionary after having added it or updated an existing entry.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key for the value to add or update.</param>
            <param name="addValueFactory">The function that receives the key and returns a new value to add to the dictionary when no value previously exists.</param>
            <param name="updateValueFactory">The function that receives the key and prior value and returns the new value with which to update the dictionary.</param>
            <returns>The added or updated value.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.AddOrUpdate``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1,System.Func{``0,``1,``1})">
            <summary>
            Obtains the value from a dictionary after having added it or updated an existing entry.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key for the value to add or update.</param>
            <param name="addValue">The value to use if no previous value exists.</param>
            <param name="updateValueFactory">The function that receives the key and prior value and returns the new value with which to update the dictionary.</param>
            <returns>The added or updated value.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryAdd``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1)">
            <summary>
            Adds the specified key and value to the dictionary if no colliding key already exists in the dictionary.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key to add, if is not already defined in the dictionary.</param>
            <param name="value">The value to add.</param>
            <returns><c>true</c> if the key was not previously set in the dictionary and the value was set; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryUpdate``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1,``1)">
            <summary>
            Sets the specified key to the given value if the key already is set to a specific value.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key to update.</param>
            <param name="newValue">The new value to set.</param>
            <param name="comparisonValue">The value that must already be set in the dictionary in order for the update to succeed.</param>
            <returns><c>true</c> if the key and comparison value were present in the dictionary and the update was made; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryRemove``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1@)">
            <summary>
            Removes an entry from the dictionary with the specified key if it is defined and returns its value.
            </summary>
            <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
            <param name="location">The variable or field to atomically update if the specified <paramref name="key"/> is not in the dictionary.</param>
            <param name="key">The key to remove.</param>
            <param name="value">Receives the value from the pre-existing entry, if one exists.</param>
            <returns><c>true</c> if the key was found and removed; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryPop``1(System.Collections.Immutable.ImmutableStack{``0}@,``0@)">
            <summary>
            Pushes a new element onto a stack.
            </summary>
            <typeparam name="T">The type of elements stored in the stack.</typeparam>
            <param name="location">The variable or field to atomically update.</param>
            <param name="value">The value popped from the stack, if it was non-empty.</param>
            <returns><c>true</c> if an element was removed from the stack; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.Push``1(System.Collections.Immutable.ImmutableStack{``0}@,``0)">
            <summary>
            Pushes a new element onto a stack.
            </summary>
            <typeparam name="T">The type of elements stored in the stack.</typeparam>
            <param name="location">The variable or field to atomically update.</param>
            <param name="value">The value to push.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryDequeue``1(System.Collections.Immutable.ImmutableQueue{``0}@,``0@)">
            <summary>
            Atomically removes the element at the head of a queue and returns it to the caller, if the queue is not empty.
            </summary>
            <typeparam name="T">The type of element stored in the queue.</typeparam>
            <param name="location">The variable or field to atomically update.</param>
            <param name="value">Receives the value from the head of the queue, if the queue is non-empty.</param>
            <returns><c>true</c> if the queue was not empty and the head element was removed; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableInterlocked.Enqueue``1(System.Collections.Immutable.ImmutableQueue{``0}@,``0)">
            <summary>
            Atomically enqueues an element to the tail of a queue.
            </summary>
            <typeparam name="T">The type of element stored in the queue.</typeparam>
            <param name="location">The variable or field to atomically update.</param>
            <param name="value">The value to enqueue.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableList">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.Create``1">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.Create``1(``0)">
            <summary>
            Creates a new immutable collection prefilled with the specified item.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="item">The item to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.Create``1(``0[])">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.CreateBuilder``1">
            <summary>
            Creates a new immutable list builder.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.ToImmutableList``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Enumerates a sequence exactly once and produces an immutable list of its contents.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <param name="source">The sequence to enumerate.</param>
            <returns>An immutable list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.Replace``1(System.Collections.Immutable.IImmutableList{``0},``0,``0)">
            <summary>
            Replaces the first equal element in the list with the specified element.
            </summary>
            <param name="list">The list to search.</param>
            <param name="oldValue">The element to replace.</param>
            <param name="newValue">The element to replace the old element with.</param>
            <returns>The new list -- even if the value being replaced is equal to the new value for that position.</returns>
            <exception cref="T:System.ArgumentException">Thrown when the old value does not exist in the list.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.Remove``1(System.Collections.Immutable.IImmutableList{``0},``0)">
            <summary>
            Removes the specified value from this list.
            </summary>
            <param name="list">The list to search.</param>
            <param name="value">The value to remove.</param>
            <returns>A new list with the element removed, or this list if the element is not in this list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.RemoveRange``1(System.Collections.Immutable.IImmutableList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="list">The list to search.</param>
            <param name="items">The items to remove if matches are found in this list.</param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> that extends from index
            to the last element, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="equalityComparer">The equality comparer to use in the search.</param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> that extends from index
            to the last element, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            that extends from the specified index to the last element.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="startIndex">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> that extends from index
            to the last element, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            that extends from the specified index to the last element.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="startIndex">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> that extends from index
            to the last element, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the entire <see cref="T:System.Collections.Immutable.IImmutableList`1"/>.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <returns>
            The zero-based index of the last occurrence of item within the entire the
            <see cref="T:System.Collections.Immutable.IImmutableList`1"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the entire <see cref="T:System.Collections.Immutable.IImmutableList`1"/>.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="equalityComparer">The equality comparer to use in the search.</param>
            <returns>
            The zero-based index of the last occurrence of item within the entire the
            <see cref="T:System.Collections.Immutable.IImmutableList`1"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            that extends from the first element to the specified index.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="startIndex">
            The zero-based starting index of the backward search.
            </param>
            <returns>
            The zero-based index of the last occurrence of item within the range of elements
            in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> that extends from the first element
            to index, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>
            that extends from the first element to the specified index.
            </summary>
            <param name="list">The list to search.</param>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="startIndex">
            The zero-based starting index of the backward search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <returns>
            The zero-based index of the last occurrence of item within the range of elements
            in the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> that extends from the first element
            to index, if found; otherwise, -1.
            </returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableList`1">
            <content>
            Contains the inner Builder class.
            </content>
            <summary>
            An immutable list implementation.
            </summary>
            <typeparam name="T">The type of elements in the set.</typeparam>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableList`1.Builder">
            <summary>
            A list that mutates with little or no memory allocations,
            can produce and/or build on immutable list instances very efficiently.
            </summary>
            <remarks>
            <para>
            While <see cref="M:System.Collections.Immutable.ImmutableList`1.AddRange(System.Collections.Generic.IEnumerable{`0})"/> and other bulk change methods
            already provide fast bulk change operations on the collection, this class allows
            multiple combinations of changes to be made to a set with equal efficiency.
            </para>
            <para>
            Instance members of this class are <em>not</em> thread-safe.
            </para>
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Builder._root">
            <summary>
            The binary tree used to store the contents of the list.  Contents are typically not entirely frozen.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Builder._immutable">
            <summary>
            Caches an immutable instance that represents the current state of the collection.
            </summary>
            <value>Null if no immutable view has been created for the current version.</value>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Builder._version">
            <summary>
            A number that increments every time the builder changes its contents.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Builder._syncRoot">
            <summary>
            The object callers may use to synchronize access to this collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.#ctor(System.Collections.Immutable.ImmutableList{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder"/> class.
            </summary>
            <param name="list">A list to act as the basis for a new list.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.Count">
            <summary>
            Gets the number of elements in this list.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read-only.
            </summary>
            <value>Always <c>false</c>.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.Version">
            <summary>
            Gets the current version of the contents of this builder.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.Root">
            <summary>
            Gets or sets the root node that represents the data in this collection.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.Item(System.Int32)">
            <summary>
            Gets or sets the value for a given index into the list.
            </summary>
            <param name="index">The index of the desired element.</param>
            <returns>The value at the specified index.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#Immutable#IOrderedCollection{T}#Item(System.Int32)">
            <summary>
            Gets the element in the collection at a given index.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Insert(System.Int32,`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.RemoveAt(System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Add(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Clear">
            <summary>
            See <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Contains(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Remove(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.ForEach(System.Action{`0})">
            <summary>
            Performs the specified action on each element of the list.
            </summary>
            <param name="action">The System.Action&lt;T&gt; delegate to perform on each element of the list.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.CopyTo(`0[])">
            <summary>
            Copies the entire ImmutableList&lt;T&gt; to a compatible one-dimensional
            array, starting at the beginning of the target array.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from ImmutableList&lt;T&gt;. The System.Array must have
            zero-based indexing.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire ImmutableList&lt;T&gt; to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from ImmutableList&lt;T&gt;. The System.Array must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
            <summary>
            Copies a range of elements from the ImmutableList&lt;T&gt; to
            a compatible one-dimensional array, starting at the specified index of the
            target array.
            </summary>
            <param name="index">
            The zero-based index in the source ImmutableList&lt;T&gt; at
            which copying begins.
            </param>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from ImmutableList&lt;T&gt;. The System.Array must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
            <param name="count">The number of elements to copy.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.GetRange(System.Int32,System.Int32)">
            <summary>
            Creates a shallow copy of a range of elements in the source ImmutableList&lt;T&gt;.
            </summary>
            <param name="index">
            The zero-based ImmutableList&lt;T&gt; index at which the range
            starts.
            </param>
            <param name="count">
            The number of elements in the range.
            </param>
            <returns>
            A shallow copy of a range of elements in the source ImmutableList&lt;T&gt;.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.ConvertAll``1(System.Func{`0,``0})">
            <summary>
            Converts the elements in the current ImmutableList&lt;T&gt; to
            another type, and returns a list containing the converted elements.
            </summary>
            <param name="converter">
            A System.Converter&lt;TInput,TOutput&gt; delegate that converts each element from
            one type to another type.
            </param>
            <typeparam name="TOutput">
            The type of the elements of the target array.
            </typeparam>
            <returns>
            A ImmutableList&lt;T&gt; of the target type containing the converted
            elements from the current ImmutableList&lt;T&gt;.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Exists(System.Predicate{`0})">
            <summary>
            Determines whether the ImmutableList&lt;T&gt; contains elements
            that match the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            true if the ImmutableList&lt;T&gt; contains one or more elements
            that match the conditions defined by the specified predicate; otherwise,
            false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Find(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the first occurrence within the entire ImmutableList&lt;T&gt;.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The first element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type T.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindAll(System.Predicate{`0})">
            <summary>
            Retrieves all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            A ImmutableList&lt;T&gt; containing all the elements that match
            the conditions defined by the specified predicate, if found; otherwise, an
            empty ImmutableList&lt;T&gt;.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the entire ImmutableList&lt;T&gt;.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by match, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the ImmutableList&lt;T&gt; that extends
            from the specified index to the last element.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="match">The System.Predicate&lt;T&gt; delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by match, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the ImmutableList&lt;T&gt; that starts
            at the specified index and contains the specified number of elements.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">The System.Predicate&lt;T&gt; delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by match, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLast(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the last occurrence within the entire ImmutableList&lt;T&gt;.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The last element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type T.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLastIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the entire ImmutableList&lt;T&gt;.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by match, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the ImmutableList&lt;T&gt; that extends
            from the first element to the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="match">The System.Predicate&lt;T&gt; delegate that defines the conditions of the element
            to search for.</param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by match, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the ImmutableList&lt;T&gt; that contains
            the specified number of elements and ends at the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by match, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the ImmutableList&lt;T&gt;
            that extends from the specified index to the last element.
            </summary>
            <param name="item">
            The object to locate in the ImmutableList&lt;T&gt;. The value
            can be null for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the ImmutableList&lt;T&gt; that extends from index
            to the last element, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the ImmutableList&lt;T&gt;
            that starts at the specified index and contains the specified number of elements.
            </summary>
            <param name="item">
            The object to locate in the ImmutableList&lt;T&gt;. The value
            can be null for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the ImmutableList&lt;T&gt; that starts at index and
            contains count number of elements, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the ImmutableList&lt;T&gt;
            that starts at the specified index and contains the specified number of elements.
            </summary>
            <param name="item">
            The object to locate in the ImmutableList&lt;T&gt;. The value
            can be null for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>
            The zero-based index of the first occurrence of item within the range of
            elements in the ImmutableList&lt;T&gt; that starts at index and
            contains count number of elements, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the ImmutableList&lt;T&gt;
            that contains the specified number of elements and ends at the specified
            index.
            </summary>
            <param name="item">
            The object to locate in the ImmutableList&lt;T&gt;. The value
            can be null for reference types.
            </param>
            <returns>
            The zero-based index of the last occurrence of item within the range of elements
            in the ImmutableList&lt;T&gt; that contains count number of elements
            and ends at index, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the ImmutableList&lt;T&gt;
            that contains the specified number of elements and ends at the specified
            index.
            </summary>
            <param name="item">
            The object to locate in the ImmutableList&lt;T&gt;. The value
            can be null for reference types.
            </param>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <returns>
            The zero-based index of the last occurrence of item within the range of elements
            in the ImmutableList&lt;T&gt; that contains count number of elements
            and ends at index, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the ImmutableList&lt;T&gt;
            that contains the specified number of elements and ends at the specified
            index.
            </summary>
            <param name="item">
            The object to locate in the ImmutableList&lt;T&gt;. The value
            can be null for reference types.
            </param>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <returns>
            The zero-based index of the last occurrence of item within the range of elements
            in the ImmutableList&lt;T&gt; that contains count number of elements
            and ends at index, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the ImmutableList&lt;T&gt;
            that contains the specified number of elements and ends at the specified
            index.
            </summary>
            <param name="item">
            The object to locate in the ImmutableList&lt;T&gt;. The value
            can be null for reference types.
            </param>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="equalityComparer">The equality comparer to use in the search.</param>
            <returns>
            The zero-based index of the last occurrence of item within the range of elements
            in the ImmutableList&lt;T&gt; that contains count number of elements
            and ends at index, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.TrueForAll(System.Predicate{`0})">
            <summary>
            Determines whether every element in the ImmutableList&lt;T&gt;
            matches the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions to check against
            the elements.
            </param>
            <returns>
            true if every element in the ImmutableList&lt;T&gt; matches the
            conditions defined by the specified predicate; otherwise, false. If the list
            has no elements, the return value is true.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of a sequence to the end of this collection.
            </summary>
            <param name="items">
            The sequence whose elements should be appended to this collection.
            The sequence itself cannot be null, but it can contain elements that are
            null, if type <typeparamref name="T"/> is a reference type.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Inserts the elements of a collection into the ImmutableList&lt;T&gt;
            at the specified index.
            </summary>
            <param name="index">
            The zero-based index at which the new elements should be inserted.
            </param>
            <param name="items">
            The collection whose elements should be inserted into the ImmutableList&lt;T&gt;.
            The collection itself cannot be null, but it can contain elements that are
            null, if type T is a reference type.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.RemoveAll(System.Predicate{`0})">
            <summary>
            Removes all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The System.Predicate&lt;T&gt; delegate that defines the conditions of the elements
            to remove.
            </param>
            <returns>
            The number of elements removed from the ImmutableList&lt;T&gt;
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Reverse">
            <summary>
            Reverses the order of the elements in the entire ImmutableList&lt;T&gt;.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Reverse(System.Int32,System.Int32)">
            <summary>
            Reverses the order of the elements in the specified range.
            </summary>
            <param name="index">The zero-based starting index of the range to reverse.</param>
            <param name="count">The number of elements in the range to reverse.</param> 
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort">
            <summary>
            Sorts the elements in the entire ImmutableList&lt;T&gt; using
            the default comparer.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort(System.Comparison{`0})">
            <summary>
            Sorts the elements in the entire ImmutableList&lt;T&gt; using
            the specified System.Comparison&lt;T&gt;.
            </summary>
            <param name="comparison">
            The <see cref="T:System.Comparison`1"/> to use when comparing elements.
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is null.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in the entire ImmutableList&lt;T&gt; using
            the specified comparer.
            </summary>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in a range of elements in ImmutableList&lt;T&gt;
            using the specified comparer.
            </summary>
            <param name="index">
            The zero-based starting index of the range to sort.
            </param>
            <param name="count">
            The length of the range to sort.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.BinarySearch(`0)">
            <summary>
            Searches the entire sorted System.Collections.Generic.List&lt;T&gt; for an element
            using the default comparer and returns the zero-based index of the element.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <returns>
            The zero-based index of item in the sorted System.Collections.Generic.List&lt;T&gt;,
            if item is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than item or, if there is
            no larger element, the bitwise complement of System.Collections.Generic.List&lt;T&gt;.Count.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The default comparer System.Collections.Generic.Comparer&lt;T&gt;.Default cannot
            find an implementation of the System.IComparable&lt;T&gt; generic interface or
            the System.IComparable interface for type T.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
             Searches the entire sorted System.Collections.Generic.List&lt;T&gt; for an element
             using the specified comparer and returns the zero-based index of the element.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">
            The System.Collections.Generic.IComparer&lt;T&gt; implementation to use when comparing
            elements.-or-null to use the default comparer System.Collections.Generic.Comparer&lt;T&gt;.Default.
            </param>
            <returns>
            The zero-based index of item in the sorted System.Collections.Generic.List&lt;T&gt;,
            if item is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than item or, if there is
            no larger element, the bitwise complement of System.Collections.Generic.List&lt;T&gt;.Count.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            comparer is null, and the default comparer System.Collections.Generic.Comparer&lt;T&gt;.Default
            cannot find an implementation of the System.IComparable&lt;T&gt; generic interface
            or the System.IComparable interface for type T.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted System.Collections.Generic.List&lt;T&gt;
            for an element using the specified comparer and returns the zero-based index
            of the element.
            </summary>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="count"> The length of the range to search.</param>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">
            The System.Collections.Generic.IComparer&lt;T&gt; implementation to use when comparing
            elements, or null to use the default comparer System.Collections.Generic.Comparer&lt;T&gt;.Default.
            </param>
            <returns>
            The zero-based index of item in the sorted System.Collections.Generic.List&lt;T&gt;,
            if item is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than item or, if there is
            no larger element, the bitwise complement of System.Collections.Generic.List&lt;T&gt;.Count.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            index is less than 0.-or-count is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            index and count do not denote a valid range in the System.Collections.Generic.List&lt;T&gt;.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            comparer is null, and the default comparer System.Collections.Generic.Comparer&lt;T&gt;.Default
            cannot find an implementation of the System.IComparable&lt;T&gt; generic interface
            or the System.IComparable interface for type T.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.ToImmutable">
            <summary>
            Creates an immutable list based on the contents of this instance.
            </summary>
            <returns>An immutable list.</returns>
            <remarks>
            This method is an O(n) operation, and approaches O(1) time as the number of
            actual mutations to the set since the last call to this method approaches 0.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Add(System.Object)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to add to the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection,
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Clear">
            <summary>
            Clears this instance.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IList"/> contains a specific value.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            true if the <see cref="T:System.Object"/> is found in the <see cref="T:System.Collections.IList"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#IndexOf(System.Object)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The index of <paramref name="value"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Insert(System.Int32,System.Object)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.IList"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="value"/> should be inserted.</param>
            <param name="value">The object to insert into the <see cref="T:System.Collections.IList"/>.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IList"/> has a fixed size.
            </summary>
            <returns>true if the <see cref="T:System.Collections.IList"/> has a fixed size; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Remove(System.Object)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to remove from the <see cref="T:System.Collections.IList"/>.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:System.Object"/> at the specified index.
            </summary>
            <value>
            The <see cref="T:System.Object"/>.
            </value>
            <param name="index">The index.</param>
            <returns></returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Empty">
            <summary>
            An empty immutable list.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1._root">
            <summary>
            The root node of the AVL tree that stores this set.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> class.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.#ctor(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> class.
            </summary>
            <param name="root">The root of the AVL tree with the contents of this set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.BinarySearch(`0)">
            <summary>
            Searches the entire sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/> for an element
            using the default comparer and returns the zero-based index of the element.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <returns>
            The zero-based index of item in the sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/>,
            if item is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than item or, if there is
            no larger element, the bitwise complement of <see cref="P:System.Collections.Immutable.ImmutableList`1.Count"/>.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/> cannot
            find an implementation of the <see cref="T:System.IComparable`1"/> generic interface or
            the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/>.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
             Searches the entire sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/> for an element
             using the specified comparer and returns the zero-based index of the element.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements.-or-null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>
            The zero-based index of item in the sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/>,
            if item is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than item or, if there is
            no larger element, the bitwise complement of <see cref="P:System.Collections.Immutable.ImmutableList`1.Count"/>.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
            cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
            or the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/>.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            for an element using the specified comparer and returns the zero-based index
            of the element.
            </summary>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="count"> The length of the range to search.</param>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>
            The zero-based index of item in the sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/>,
            if item is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than item or, if there is
            no larger element, the bitwise complement of <see cref="P:System.Collections.Immutable.ImmutableList`1.Count"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than 0.-or-<paramref name="count"/> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index"/> and <paramref name="count"/> do not denote a valid range in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
            cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
            or the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/>.
            </exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.IsEmpty">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Count">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#ICollection#SyncRoot">
            <summary>
            See <see cref="T:System.Collections.ICollection"/>.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#ICollection#IsSynchronized">
            <summary>
            See the <see cref="T:System.Collections.ICollection"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Item(System.Int32)">
            <summary>
            Gets the element of the set at the given index.
            </summary>
            <param name="index">The 0-based index of the element in the set to return.</param>
            <returns>The element at the given position.</returns>
            <exception cref="T:System.IndexOutOfRangeException">Thrown from getter when <paramref name="index"/> is negative or not less than <see cref="P:System.Collections.Immutable.ImmutableList`1.Count"/>.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IOrderedCollection{T}#Item(System.Int32)">
            <summary>
            Gets the element in the collection at a given index.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.ToBuilder">
            <summary>
            Creates a collection with the same contents as this collection that
            can be efficiently mutated across multiple operations using standard
            mutable interfaces.
            </summary>
            <remarks>
            This is an O(1) operation and results in only a single (small) memory allocation.
            The mutable collection that is returned is *not* thread-safe.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Insert(System.Int32,`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="index">The starting index to begin removal.</param>
            <param name="count">The number of elements to remove.</param>
            <returns>A new list with the elements removed.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="items">The items to remove if matches are found in this list.</param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Removes the specified values from this list.
            </summary>
            <param name="items">The items to remove if matches are found in this list.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>
            A new list with the elements removed.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveAt(System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveAll(System.Predicate{`0})">
            <summary>
            Removes all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to remove.
            </param>
            <returns>
            The new list.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.SetItem(System.Int32,`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Replace(`0,`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Reverse">
            <summary>
            Reverses the order of the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <returns>The reversed list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Reverse(System.Int32,System.Int32)">
            <summary>
            Reverses the order of the elements in the specified range.
            </summary>
            <param name="index">The zero-based starting index of the range to reverse.</param>
            <param name="count">The number of elements in the range to reverse.</param> 
            <returns>The reversed list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Sort">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> using
            the default comparer.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Sort(System.Comparison{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> using
            the specified <see cref="T:System.Comparison`1"/>.
            </summary>
            <param name="comparison">
            The <see cref="T:System.Comparison`1"/> to use when comparing elements.
            </param>
            <returns>The sorted list.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is null.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> using
            the specified comparer.
            </summary>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>The sorted list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in a range of elements in <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            using the specified comparer.
            </summary>
            <param name="index">
            The zero-based starting index of the range to sort.
            </param>
            <param name="count">
            The length of the range to sort.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>The sorted list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.ForEach(System.Action{`0})">
            <summary>
            Performs the specified action on each element of the list.
            </summary>
            <param name="action">The System.Action&lt;T&gt; delegate to perform on each element of the list.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.CopyTo(`0[])">
            <summary>
            Copies the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to a compatible one-dimensional
            array, starting at the beginning of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in array at which copying begins.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
            <summary>
            Copies a range of elements from the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to
            a compatible one-dimensional array, starting at the specified index of the
            target array.
            </summary>
            <param name="index">
            The zero-based index in the source <see cref="T:System.Collections.Immutable.ImmutableList`1"/> at
            which copying begins.
            </param>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
            <param name="count">The number of elements to copy.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.GetRange(System.Int32,System.Int32)">
            <summary>
            Creates a shallow copy of a range of elements in the source <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="index">
            The zero-based <see cref="T:System.Collections.Immutable.ImmutableList`1"/> index at which the range
            starts.
            </param>
            <param name="count">
            The number of elements in the range.
            </param>
            <returns>
            A shallow copy of a range of elements in the source <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.ConvertAll``1(System.Func{`0,``0})">
            <summary>
            Converts the elements in the current <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to
            another type, and returns a list containing the converted elements.
            </summary>
            <param name="converter">
            A <see cref="T:System.Func`2"/> delegate that converts each element from
            one type to another type.
            </param>
            <typeparam name="TOutput">
            The type of the elements of the target array.
            </typeparam>
            <returns>
            A <see cref="T:System.Collections.Immutable.ImmutableList`1"/> of the target type containing the converted
            elements from the current <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Exists(System.Predicate{`0})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> contains elements
            that match the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> contains one or more elements
            that match the conditions defined by the specified predicate; otherwise,
            false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Find(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the first occurrence within the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The first element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type <typeparamref name="T"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindAll(System.Predicate{`0})">
            <summary>
            Retrieves all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            A <see cref="T:System.Collections.Immutable.ImmutableList`1"/> containing all the elements that match
            the conditions defined by the specified predicate, if found; otherwise, an
            empty <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that extends
            from the specified index to the last element.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that starts
            at the specified index and contains the specified number of elements.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindLast(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the last occurrence within the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The last element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type <typeparamref name="T"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindLastIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that extends
            from the first element to the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.</param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that contains
            the specified number of elements and ends at the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            that starts at the specified index and contains the specified number of elements.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            </param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> within the range of
            elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that starts at <paramref name="index"/> and
            contains <paramref name="count"/> number of elements, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            that contains the specified number of elements and ends at the specified
            index.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="index">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            </param>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item"/> within the range of elements
            in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that contains <paramref name="count"/> number of elements
            and ends at <paramref name="index"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.TrueForAll(System.Predicate{`0})">
            <summary>
            Determines whether every element in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            matches the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions to check against
            the elements.
            </param>
            <returns>
            true if every element in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> matches the
            conditions defined by the specified predicate; otherwise, false. If the list
            has no elements, the return value is true.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Contains(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.IndexOf(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Insert(System.Int32,`0)">
            <summary>
            Inserts the specified value at the specified index.
            </summary>
            <param name="index">The index at which to insert the value.</param>
            <param name="item">The element to add.</param>
            <returns>The new immutable list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Inserts the specified value at the specified index.
            </summary>
            <param name="index">The index at which to insert the value.</param>
            <param name="items">The elements to add.</param>
            <returns>The new immutable list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveAll(System.Predicate{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Int32,System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>A new list with the elements removed.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#SetItem(System.Int32,`0)">
            <summary>
            Replaces an element in the list at a given position with the specified element.
            </summary>
            <param name="index">The position in the list of the element to replace.</param>
            <param name="value">The element to replace the old element with.</param>
            <returns>The new list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Replaces an element in the list with the specified element.
            </summary>
            <param name="oldValue">The element to replace.</param>
            <param name="newValue">The element to replace the old element with.</param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>The new list.</returns>
            <exception cref="T:System.ArgumentException">Thrown when the old value does not exist in the list.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IList{T}#Insert(System.Int32,`0)">
            <summary>
            Inserts the specified index.
            </summary>
            <param name="index">The index.</param>
            <param name="item">The item.</param>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IList{T}#RemoveAt(System.Int32)">
            <summary>
            Removes the value at the specified index.
            </summary>
            <param name="index">The index.</param>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IList{T}#Item(System.Int32)">
            <summary>
            Gets or sets the value at the specified index.
            </summary>
            <exception cref="T:System.IndexOutOfRangeException">Thrown from getter when <paramref name="index"/> is negative or not less than <see cref="P:System.Collections.Immutable.ImmutableList`1.Count"/>.</exception>
            <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <summary>
            Adds the specified item.
            </summary>
            <param name="item">The item.</param>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#Clear">
            <summary>
            Clears this instance.
            </summary>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
            <summary>
            Removes the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>Nothing. An exception is always thrown.</returns>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.ICollection"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Add(System.Object)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to add to the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            Nothing. An exception is always thrown.
            </returns>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.IList"/> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Clear">
            <summary>
            Clears this instance.
            </summary>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IList"/> contains a specific value.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            true if the <see cref="T:System.Object"/> is found in the <see cref="T:System.Collections.IList"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#IndexOf(System.Object)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The index of <paramref name="value"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Insert(System.Int32,System.Object)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.IList"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="value"/> should be inserted.</param>
            <param name="value">The object to insert into the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IList"/> has a fixed size.
            </summary>
            <returns>true if the <see cref="T:System.Collections.IList"/> has a fixed size; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Remove(System.Object)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to remove from the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException">Always thrown.</exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:System.Object"/> at the specified index.
            </summary>
            <value>
            The <see cref="T:System.Object"/>.
            </value>
            <param name="index">The index.</param>
            <returns>The value at the specified index.</returns>
            <exception cref="T:System.IndexOutOfRangeException">Thrown from getter when <paramref name="index"/> is negative or not less than <see cref="P:System.Collections.Immutable.ImmutableList`1.Count"/>.</exception>
            <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <remarks>
            CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable 
            or by passing it to another method.  When this enumerator is disposed of it returns a mutable reference type stack to a resource pool,
            and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk
            that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data
            corruption and/or exceptions.
            </remarks>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Root">
            <summary>
            Returns the root <see cref="T:System.Collections.Immutable.ImmutableList`1.Node"/> of the list
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.WrapNode(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Creates a new sorted set wrapper for a node tree.
            </summary>
            <param name="root">The root of the collection.</param>
            <returns>The immutable sorted set instance.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.TryCastToImmutableList(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableList{`0}@)">
            <summary>
            Attempts to discover an <see cref="T:System.Collections.Immutable.ImmutableList`1"/> instance beneath some enumerable sequence
            if one exists.
            </summary>
            <param name="sequence">The sequence that may have come from an immutable list.</param>
            <param name="other">Receives the concrete <see cref="T:System.Collections.Immutable.ImmutableList`1"/> typed value if one can be found.</param>
            <returns><c>true</c> if the cast was successful; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.IsCompatibleObject(System.Object)">
            <summary>
            Tests whether a value is one that might be found in this collection.
            </summary>
            <param name="value">The value to test.</param>
            <returns><c>true</c> if this value might appear in the collection.</returns>
            <devremarks>
            This implementation comes from <see cref="T:System.Collections.Generic.List`1"/>.
            </devremarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Wrap(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Creates a wrapping collection type around a root node.
            </summary>
            <param name="root">The root node to wrap.</param>
            <returns>A wrapping collection type for the new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.FillFromEmpty(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Creates an immutable list with the contents from a sequence of elements.
            </summary>
            <param name="items">The sequence of elements from which to create the list.</param>
            <returns>The immutable list.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableList`1.Enumerator">
            <summary>
            Enumerates the contents of a binary tree.
            </summary>
            <remarks>
            This struct can and should be kept in exact sync with the other binary tree enumerators: 
            <see cref="T:System.Collections.Immutable.ImmutableList`1.Enumerator"/>, <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator"/>, and <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator"/>.
            
            CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable 
            or by passing it to another method.  When this enumerator is disposed of it returns a mutable reference type stack to a resource pool,
            and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk
            that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data
            corruption and/or exceptions.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator.s_EnumeratingStacks">
            <summary>
            The resource pool of reusable mutable stacks for purposes of enumeration.
            </summary>
            <remarks>
            We utilize this resource pool to make "allocation free" enumeration achievable.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._builder">
            <summary>
            The builder being enumerated, if applicable.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._poolUserId">
            <summary>
            A unique ID for this instance of this enumerator.
            Used to protect pooled objects from use after they are recycled.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._startIndex">
            <summary>
            The starting index of the collection at which to begin enumeration.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._count">
            <summary>
            The number of elements to include in the enumeration.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._remainingCount">
            <summary>
            The number of elements left in the enumeration.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._reversed">
            <summary>
            A value indicating whether this enumerator walks in reverse order.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._root">
            <summary>
            The set being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._stack">
            <summary>
            The stack to use for enumerating the binary tree.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._current">
            <summary>
            The node currently selected.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Enumerator._enumeratingBuilderVersion">
            <summary>
            The version of the builder (when applicable) that is being enumerated.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.#ctor(System.Collections.Immutable.ImmutableList{`0}.Node,System.Collections.Immutable.ImmutableList{`0}.Builder,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Initializes an <see cref="T:System.Collections.Immutable.ImmutableList`1.Enumerator"/> structure.
            </summary>
            <param name="root">The root of the set to be enumerated.</param>
            <param name="builder">The builder, if applicable.</param>
            <param name="startIndex">The index of the first element to enumerate.</param>
            <param name="count">The number of elements in this collection.</param>
            <param name="reversed"><c>true</c> if the list should be enumerated in reverse order.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Enumerator.System#Collections#Immutable#ISecurePooledObjectUser#PoolUserId">
            <inheritdoc/>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Enumerator.Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.Dispose">
            <summary>
            Disposes of this enumerator and returns the stack reference to the resource pool.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.MoveNext">
            <summary>
            Advances enumeration to the next element.
            </summary>
            <returns>A value indicating whether there is another element in the enumeration.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.Reset">
            <summary>
            Restarts enumeration.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.ResetStack">
            <summary>Resets the stack used for enumeration.</summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.NextBranch(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Obtains the right branch of the given node (or the left, if walking in reverse).
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.PreviousBranch(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Obtains the left branch of the given node (or the right, if walking in reverse).
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.ThrowIfDisposed">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> if this enumerator has been disposed.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.ThrowIfChanged">
            <summary>
            Throws an exception if the underlying builder's contents have been changed since enumeration started.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the collection has changed.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.PushNext(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Pushes this node and all its Left descendants onto the stack.
            </summary>
            <param name="node">The starting node to push onto the stack.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableList`1.Node">
            <summary>
            A node in the AVL tree storing this set.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Node.EmptyNode">
            <summary>
            The default empty node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Node._key">
            <summary>
            The key associated with this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Node._frozen">
            <summary>
            A value indicating whether this node has been frozen (made immutable).
            </summary>
            <remarks>
            Nodes must be frozen before ever being observed by a wrapping collection type
            to protect collections from further mutations.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Node._height">
            <summary>
            The depth of the tree beneath this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Node._count">
            <summary>
            The number of elements contained by this subtree starting at this node.
            </summary>
            <remarks>
            If this node would benefit from saving 4 bytes, we could have only a few nodes 
            scattered throughout the graph actually record the count of nodes beneath them.
            Those without the count could query their descendants, which would often short-circuit
            when they hit a node that *does* include a count field.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Node._left">
            <summary>
            The left tree.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableList`1.Node._right">
            <summary>
            The right tree.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableList`1.Node"/> class
            that is pre-frozen.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.#ctor(`0,System.Collections.Immutable.ImmutableList{`0}.Node,System.Collections.Immutable.ImmutableList{`0}.Node,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableList`1.Node"/> class
            that is not yet frozen.
            </summary>
            <param name="key">The value stored by this node.</param>
            <param name="left">The left branch.</param>
            <param name="right">The right branch.</param>
            <param name="frozen">Whether this node is prefrozen.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
            <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.Height">
            <summary>
            Gets the height of the tree beneath this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.System#Collections#Immutable#IBinaryTree#Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.System#Collections#Immutable#IBinaryTree#Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.System#Collections#Immutable#IBinaryTree{T}#Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.System#Collections#Immutable#IBinaryTree{T}#Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.Value">
            <summary>
            Gets the value represented by the current node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.Count">
            <summary>
            Gets the number of elements contained by this subtree starting at this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.Key">
            <summary>
            Gets the key.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableList`1.Node.Item(System.Int32)">
            <summary>
            Gets the element of the set at the given index.
            </summary>
            <param name="index">The 0-based index of the element in the set to return.</param>
            <returns>The element at the given position.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.GetEnumerator(System.Collections.Immutable.ImmutableList{`0}.Builder)">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <param name="builder">The builder, if applicable.</param>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.NodeTreeFromList(System.Collections.Immutable.IOrderedCollection{`0},System.Int32,System.Int32)">
            <summary>
            Creates a node tree that contains the contents of a list.
            </summary>
            <param name="items">An indexable list with the contents that the new node tree should contain.</param>
            <param name="start">The starting index within <paramref name="items"/> that should be captured by the node tree.</param>
            <param name="length">The number of elements from <paramref name="items"/> that should be captured by the node tree.</param>
            <returns>The root of the created node tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Add(`0)">
            <summary>
            Adds the specified key to the tree.
            </summary>
            <param name="key">The key.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Insert(System.Int32,`0)">
            <summary>
            Adds a value at a given index to this node.
            </summary>
            <param name="index">The location for the new value.</param>
            <param name="key">The value to add.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the specified keys to the tree.
            </summary>
            <param name="keys">The keys.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a collection of values at a given index to this node.
            </summary>
            <param name="index">The location for the new values.</param>
            <param name="keys">The values to add.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.RemoveAt(System.Int32)">
            <summary>
            Removes a value at a given index to this node.
            </summary>
            <param name="index">The location for the new value.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.RemoveAll(System.Predicate{`0})">
            <summary>
            Removes all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to remove.
            </param>
            <returns>
            The new node tree.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.ReplaceAt(System.Int32,`0)">
            <summary>
            Replaces a value at a given index.
            </summary>
            <param name="index">The location for the new value.</param>
            <param name="value">The new value for the node.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Reverse">
            <summary>
            Reverses the order of the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <returns>The reversed list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Reverse(System.Int32,System.Int32)">
            <summary>
            Reverses the order of the elements in the specified range.
            </summary>
            <param name="index">The zero-based starting index of the range to reverse.</param>
            <param name="count">The number of elements in the range to reverse.</param> 
            <returns>The reversed list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Sort">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> using
            the default comparer.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Sort(System.Comparison{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> using
            the specified <see cref="T:System.Comparison`1"/>.
            </summary>
            <param name="comparison">
            The <see cref="T:System.Comparison`1"/> to use when comparing elements.
            </param>
            <returns>The sorted list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> using
            the specified comparer.
            </summary>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>The sorted list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in a range of elements in <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            using the specified comparer.
            </summary>
            <param name="index">
            The zero-based starting index of the range to sort.
            </param>
            <param name="count">
            The length of the range to sort.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>The sorted list.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            for an element using the specified comparer and returns the zero-based index
            of the element.
            </summary>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="count"> The length of the range to search.</param>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
            elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
            </param>
            <returns>
            The zero-based index of item in the sorted <see cref="T:System.Collections.Immutable.ImmutableList`1"/>,
            if item is found; otherwise, a negative number that is the bitwise complement
            of the index of the next element that is larger than item or, if there is
            no larger element, the bitwise complement of <see cref="P:System.Collections.Immutable.ImmutableList`1.Count"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than 0.-or-<paramref name="count"/> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index"/> and <paramref name="count"/> do not denote a valid range in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
            cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
            or the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/>.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.IndexOf(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            that starts at the specified index and contains the specified number of elements.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="equalityComparer">The equality comparer to use for testing the match of two elements.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> within the entire
            <see cref="T:System.Collections.Immutable.ImmutableList`1"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            that starts at the specified index and contains the specified number of elements.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search. 0 (zero) is valid in an empty
            list.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="equalityComparer">
            The equality comparer to use in the search.
            If <c>null</c>, <see cref="P:System.Collections.Generic.EqualityComparer`1.Default"/> is used.
            </param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> within the range of
            elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that starts at <paramref name="index"/> and
            contains <paramref name="count"/> number of elements, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the
            last occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            that contains the specified number of elements and ends at the specified
            index.
            </summary>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The value
            can be null for reference types.
            </param>
            <param name="index">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="equalityComparer">The equality comparer to use for testing the match of two elements.</param>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item"/> within the range of elements
            in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that contains <paramref name="count"/> number of elements
            and ends at <paramref name="index"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.CopyTo(`0[])">
            <summary>
            Copies the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to a compatible one-dimensional
            array, starting at the beginning of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in <paramref name="array"/> at which copying begins.
            </param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
            <summary>
            Copies a range of elements from the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to
            a compatible one-dimensional array, starting at the specified index of the
            target array.
            </summary>
            <param name="index">
            The zero-based index in the source <see cref="T:System.Collections.Immutable.ImmutableList`1"/> at
            which copying begins.
            </param>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements
            copied from <see cref="T:System.Collections.Immutable.ImmutableList`1"/>. The <see cref="T:System.Array"/> must have
            zero-based indexing.
            </param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
            <param name="count">The number of elements to copy.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.ConvertAll``1(System.Func{`0,``0})">
            <summary>
            Converts the elements in the current <see cref="T:System.Collections.Immutable.ImmutableList`1"/> to
            another type, and returns a list containing the converted elements.
            </summary>
            <param name="converter">
            A <see cref="T:System.Func`2"/> delegate that converts each element from
            one type to another type.
            </param>
            <typeparam name="TOutput">
            The type of the elements of the target array.
            </typeparam>
            <returns>
            A node tree with the transformed list.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.TrueForAll(System.Predicate{`0})">
            <summary>
            Determines whether every element in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/>
            matches the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions to check against
            the elements.
            </param>
            <returns>
            true if every element in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> matches the
            conditions defined by the specified predicate; otherwise, false. If the list
            has no elements, the return value is true.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Exists(System.Predicate{`0})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> contains elements
            that match the conditions defined by the specified predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> contains one or more elements
            that match the conditions defined by the specified predicate; otherwise,
            false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Find(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the first occurrence within the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The first element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type <typeparamref name="T"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindAll(System.Predicate{`0})">
            <summary>
            Retrieves all the elements that match the conditions defined by the specified
            predicate.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
            to search for.
            </param>
            <returns>
            A <see cref="T:System.Collections.Immutable.ImmutableList`1"/> containing all the elements that match
            the conditions defined by the specified predicate, if found; otherwise, an
            empty <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that extends
            from the specified index to the last element.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that starts
            at the specified index and contains the specified number of elements.
            </summary>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element to search for.</param>
            <returns>
            The zero-based index of the first occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindLast(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the last occurrence within the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The last element that matches the conditions defined by the specified predicate,
            if found; otherwise, the default value for type <typeparamref name="T"/>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindLastIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the entire <see cref="T:System.Collections.Immutable.ImmutableList`1"/>.
            </summary>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that extends
            from the first element to the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.</param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified
            predicate, and returns the zero-based index of the last occurrence within
            the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1"/> that contains
            the specified number of elements and ends at the specified index.
            </summary>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">
            The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
            to search for.
            </param>
            <returns>
            The zero-based index of the last occurrence of an element that matches the
            conditions defined by <paramref name="match"/>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Freeze">
            <summary>
            Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.RotateLeft(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            AVL rotate left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.RotateRight(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            AVL rotate right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.DoubleLeft(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            AVL rotate double-left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.DoubleRight(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            AVL rotate double-right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Balance(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Returns a value indicating whether the tree is in balance.
            </summary>
            <param name="tree">The tree.</param>
            <returns>0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.IsRightHeavy(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Determines whether the specified tree is right heavy.
            </summary>
            <param name="tree">The tree.</param>
            <returns>
            <c>true</c> if [is right heavy] [the specified tree]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.IsLeftHeavy(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Determines whether the specified tree is left heavy.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.MakeBalanced(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Balances the specified tree.
            </summary>
            <param name="tree">The tree.</param>
            <returns>A balanced tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.BalanceNode(System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Balance the specified node.  Allows for a large imbalance between left and
            right nodes, but assumes left and right nodes are individually balanced.
            </summary>
            <param name="node">The node.</param>
            <returns>A balanced node</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Mutate(System.Collections.Immutable.ImmutableList{`0}.Node,System.Collections.Immutable.ImmutableList{`0}.Node)">
            <summary>
            Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node
            with the described changes.
            </summary>
            <param name="left">The left branch of the mutated node.</param>
            <param name="right">The right branch of the mutated node.</param>
            <returns>The mutated (or created) node.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableList`1.Node.Mutate(`0)">
            <summary>
            Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node
            with the described changes.
            </summary>
            <param name="value">The new value for this node.</param>
            <returns>The mutated (or created) node.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableListBuilderDebuggerProxy`1">
            <summary>
            A simple view of the immutable list that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableListBuilderDebuggerProxy`1._list">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableListBuilderDebuggerProxy`1._cachedContents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableListBuilderDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableList{`0}.Builder)">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableListBuilderDebuggerProxy`1"/> class.
            </summary>
            <param name="builder">The list to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableListBuilderDebuggerProxy`1.Contents">
            <summary>
            Gets a simple debugger-viewable list.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableListDebuggerProxy`1">
            <summary>
            A simple view of the immutable list that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableListDebuggerProxy`1._list">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableListDebuggerProxy`1._cachedContents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableListDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableList{`0})">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableListDebuggerProxy`1"/> class.
            </summary>
            <param name="list">The list to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableListDebuggerProxy`1.Contents">
            <summary>
            Gets a simple debugger-viewable list.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableQueue">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableQueue`1"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue.Create``1">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue.Create``1(``0)">
            <summary>
            Creates a new immutable collection prefilled with the specified item.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="item">The item to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue.Create``1(``0[])">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue.Dequeue``1(System.Collections.Immutable.IImmutableQueue{``0},``0@)">
            <summary>
            Retrieves the item at the head of the queue, and returns a queue with the head element removed.
            </summary>
            <typeparam name="T">The type of elements stored in the queue.</typeparam>
            <param name="queue">The queue to dequeue from.</param>
            <param name="value">Receives the value from the head of the queue.</param>
            <returns>The new queue with the head element removed.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableQueue`1">
            <summary>
            An immutable queue.
            </summary>
            <typeparam name="T">The type of elements stored in the queue.</typeparam>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.s_EmptyField">
            <summary>
            The singleton empty queue.
            </summary>
            <remarks>
            Additional instances representing the empty queue may exist on deserialized instances.
            Actually since this queue is a struct, instances don't even apply and there are no singletons.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1._backwards">
            <summary>
            The end of the queue that enqueued elements are pushed onto.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1._forwards">
            <summary>
            The end of the queue from which elements are dequeued.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1._backwardsReversed">
            <summary>
            Backing field for the <see cref="P:System.Collections.Immutable.ImmutableQueue`1.BackwardsReversed"/> property.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.#ctor(System.Collections.Immutable.ImmutableStack{`0},System.Collections.Immutable.ImmutableStack{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableQueue`1"/> class.
            </summary>
            <param name="forward">The forward stack.</param>
            <param name="backward">The backward stack.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.Clear">
            <summary>
            Gets the empty queue.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableQueue`1.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
              <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableQueue`1.Empty">
            <summary>
            Gets the empty queue.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Immutable#IImmutableQueue{T}#Clear">
            <summary>
            Gets an empty queue.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableQueue`1.BackwardsReversed">
            <summary>
            Gets the reversed <see cref="F:System.Collections.Immutable.ImmutableQueue`1._backwards"/> stack.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.Peek">
            <summary>
            Gets the element at the front of the queue.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown when the queue is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.Enqueue(`0)">
            <summary>
            Adds an element to the back of the queue.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The new queue.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Immutable#IImmutableQueue{T}#Enqueue(`0)">
            <summary>
            Adds an element to the back of the queue.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The new queue.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.Dequeue">
            <summary>
            Returns a queue that is missing the front element.
            </summary>
            <returns>A queue; never <c>null</c>.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the queue is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.Dequeue(`0@)">
            <summary>
            Retrieves the item at the head of the queue, and returns a queue with the head element removed.
            </summary>
            <param name="value">Receives the value from the head of the queue.</param>
            <returns>The new queue with the head element removed.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the queue is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Immutable#IImmutableQueue{T}#Dequeue">
            <summary>
            Returns a queue that is missing the front element.
            </summary>
            <returns>A queue; never <c>null</c>.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the queue is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Immutable.ImmutableQueue`1.Enumerator"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableQueue`1.Enumerator">
            <summary>
            A memory allocation-free enumerator of <see cref="T:System.Collections.Immutable.ImmutableQueue`1"/>.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.Enumerator._originalQueue">
            <summary>
            The original queue being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.Enumerator._remainingForwardsStack">
            <summary>
            The remaining forwards stack of the queue being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.Enumerator._remainingBackwardsStack">
            <summary>
            The remaining backwards stack of the queue being enumerated.
            Its order is reversed when the field is first initialized.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.Enumerator.#ctor(System.Collections.Immutable.ImmutableQueue{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableQueue`1.Enumerator"/> struct.
            </summary>
            <param name="queue">The queue to enumerate.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableQueue`1.Enumerator.Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.Enumerator.MoveNext">
            <summary>
            Advances enumeration to the next element.
            </summary>
            <returns>A value indicating whether there is another element in the enumeration.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject">
            <summary>
            A memory allocation-free enumerator of <see cref="T:System.Collections.Immutable.ImmutableQueue`1"/>.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject._originalQueue">
            <summary>
            The original queue being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject._remainingForwardsStack">
            <summary>
            The remaining forwards stack of the queue being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject._remainingBackwardsStack">
            <summary>
            The remaining backwards stack of the queue being enumerated.
            Its order is reversed when the field is first initialized.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject._disposed">
            <summary>
            A value indicating whether this enumerator has been disposed.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject.#ctor(System.Collections.Immutable.ImmutableQueue{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableQueue`1.Enumerator"/> struct.
            </summary>
            <param name="queue">The queue to enumerate.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject.Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject.System#Collections#IEnumerator#Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject.MoveNext">
            <summary>
            Advances enumeration to the next element.
            </summary>
            <returns>A value indicating whether there is another element in the enumeration.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject.Reset">
            <summary>
            Restarts enumeration.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject.Dispose">
            <summary>
            Disposes this instance.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueue`1.EnumeratorObject.ThrowIfDisposed">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> if this 
            enumerator has already been disposed.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableQueueDebuggerProxy`1">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueueDebuggerProxy`1._queue">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableQueueDebuggerProxy`1._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableQueueDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableQueue{`0})">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableQueueDebuggerProxy`1"/> class.
            </summary>
            <param name="queue">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableQueueDebuggerProxy`1.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedDictionary">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.Create``2">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.Create``2(System.Collections.Generic.IComparer{``0})">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.Create``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateRange``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateRange``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateRange``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateBuilder``2">
            <summary>
            Creates a new immutable sorted dictionary builder.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <returns>The immutable collection builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateBuilder``2(System.Collections.Generic.IComparer{``0})">
            <summary>
            Creates a new immutable sorted dictionary builder.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <returns>The immutable collection builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateBuilder``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Creates a new immutable sorted dictionary builder.
            </summary>
            <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
            <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <returns>The immutable collection builder.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IComparer{``1},System.Collections.Generic.IEqualityComparer{``2})">
            <summary>
            Constructs an immutable sorted dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <typeparam name="TValue">The type of value in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <param name="elementSelector">The function that will produce the value for the map from each sequence element.</param>
            <param name="keyComparer">The key comparer to use for the map.</param>
            <param name="valueComparer">The value comparer to use for the map.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IComparer{``1})">
            <summary>
            Constructs an immutable sorted dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <typeparam name="TValue">The type of value in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <param name="elementSelector">The function that will produce the value for the map from each sequence element.</param>
            <param name="keyComparer">The key comparer to use for the map.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
            <summary>
            Constructs an immutable sorted dictionary based on some transformation of a sequence.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <typeparam name="TKey">The type of key in the resulting map.</typeparam>
            <typeparam name="TValue">The type of value in the resulting map.</typeparam>
            <param name="source">The sequence to enumerate to generate the map.</param>
            <param name="keySelector">The function that will produce the key for the map from each sequence element.</param>
            <param name="elementSelector">The function that will produce the value for the map from each sequence element.</param>
            <returns>The immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Creates an immutable sorted dictionary given a sequence of key=value pairs.
            </summary>
            <typeparam name="TKey">The type of key in the map.</typeparam>
            <typeparam name="TValue">The type of value in the map.</typeparam>
            <param name="source">The sequence of key=value pairs.</param>
            <param name="keyComparer">The key comparer to use when building the immutable map.</param>
            <param name="valueComparer">The value comparer to use for the immutable map.</param>
            <returns>An immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IComparer{``0})">
            <summary>
            Creates an immutable sorted dictionary given a sequence of key=value pairs.
            </summary>
            <typeparam name="TKey">The type of key in the map.</typeparam>
            <typeparam name="TValue">The type of value in the map.</typeparam>
            <param name="source">The sequence of key=value pairs.</param>
            <param name="keyComparer">The key comparer to use when building the immutable map.</param>
            <returns>An immutable map.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
            <summary>
            Creates an immutable sorted dictionary given a sequence of key=value pairs.
            </summary>
            <typeparam name="TKey">The type of key in the map.</typeparam>
            <typeparam name="TValue">The type of value in the map.</typeparam>
            <param name="source">The sequence of key=value pairs.</param>
            <returns>An immutable map.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedDictionary`2">
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder"/> class.
            </content>
            <summary>
            An immutable sorted dictionary implementation.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder">
            <summary>
            A sorted dictionary that mutates with little or no memory allocations,
            can produce and/or build on immutable sorted dictionary instances very efficiently.
            </summary>
            <remarks>
            <para>
            This class allows multiple combinations of changes to be made to a set with equal efficiency.
            </para>
            <para>
            Instance members of this class are <em>not</em> thread-safe.
            </para>
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder._root">
            <summary>
            The binary tree used to store the contents of the map.  Contents are typically not entirely frozen.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder._keyComparer">
            <summary>
            The key comparer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder._valueComparer">
            <summary>
            The value comparer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder._count">
            <summary>
            The number of entries in the map.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder._immutable">
            <summary>
            Caches an immutable instance that represents the current state of the collection.
            </summary>
            <value>Null if no immutable view has been created for the current version.</value>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder._version">
            <summary>
            A number that increments every time the builder changes its contents.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder._syncRoot">
            <summary>
            The object callers may use to synchronize access to this collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.#ctor(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder"/> class.
            </summary>
            <param name="map">A map to act as the basis for a new map.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey,TValue}#Keys">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Keys">
            <summary>
            See <see cref="T:System.Collections.Generic.IReadOnlyDictionary`2"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey,TValue}#Values">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Values">
            <summary>
            See <see cref="T:System.Collections.Generic.IReadOnlyDictionary`2"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Count">
            <summary>
            Gets the number of elements in this map.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read-only.
            </summary>
            <value>Always <c>false</c>.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Version">
            <summary>
            Gets the current version of the contents of this builder.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Root">
            <summary>
            Gets or sets the root node that represents the data in this collection.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Item(`0)">
            <summary>
            Gets or sets the value for a given key.
            </summary>
            <param name="key">The key.</param>
            <returns>The value associated with the given key.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary"/> object has a fixed size.
            </summary>
            <returns>true if the <see cref="T:System.Collections.IDictionary"/> object has a fixed size; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.KeyComparer">
            <summary>
            Gets or sets the key comparer.
            </summary>
            <value>
            The key comparer.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ValueComparer">
            <summary>
            Gets or sets the value comparer.
            </summary>
            <value>
            The value comparer.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
            <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IDictionary"/> object contains an element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:System.Collections.IDictionary"/> object.</param>
            <returns>
            true if the <see cref="T:System.Collections.IDictionary"/> contains an element with the key; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The key of the element to remove.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns></returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Add(`0,`1)">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ContainsKey(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Remove(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.TryGetValue(`0,`1@)">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.TryGetKey(`0,`0@)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Clear">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.GetEnumerator">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetEnumerator">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ContainsValue(`1)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/>
            contains an element with the specified value.
            </summary>
            <param name="value">
            The value to locate in the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/>.
            The value can be null for reference types.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/> contains
            an element with the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Removes any entries from the dictionaries with keys that match those found in the specified sequence.
            </summary>
            <param name="items">The keys for entries to remove from the dictionary.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes any entries from the dictionaries with keys that match those found in the specified sequence.
            </summary>
            <param name="keys">The keys for entries to remove from the dictionary.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.GetValueOrDefault(`0)">
            <summary>
            Gets the value for a given key if a matching key exists in the dictionary.
            </summary>
            <param name="key">The key to search for.</param>
            <returns>The value for the key, or the default value for type <typeparamref name="TValue"/> if no matching key was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.GetValueOrDefault(`0,`1)">
            <summary>
            Gets the value for a given key if a matching key exists in the dictionary.
            </summary>
            <param name="key">The key to search for.</param>
            <param name="defaultValue">The default value to return if no matching key is found in the dictionary.</param>
            <returns>
            The value for the key, or <paramref name="defaultValue"/> if no matching key was found.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ToImmutable">
            <summary>
            Creates an immutable sorted dictionary based on the contents of this instance.
            </summary>
            <returns>An immutable map.</returns>
            <remarks>
            This method is an O(n) operation, and approaches O(1) time as the number of
            actual mutations to the set since the last call to this method approaches 0.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Empty">
            <summary>
            An empty sorted dictionary with default sort and equality comparers.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2._root">
            <summary>
            The root node of the AVL tree that stores this map.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2._count">
            <summary>
            The number of elements in the set.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2._keyComparer">
            <summary>
            The comparer used to sort keys in this map.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2._valueComparer">
            <summary>
            The comparer used to detect equivalent values in this map.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.#ctor(System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/> class.
            </summary>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.#ctor(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node,System.Int32,System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/> class.
            </summary>
            <param name="root">The root of the tree containing the contents of the map.</param>
            <param name="count">The number of elements in this map.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.ValueComparer">
            <summary>
            Gets the value comparer used to determine whether values are equal.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.IsEmpty">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Count">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Keys">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Values">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Keys">
            <summary>
            Gets the keys.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Values">
            <summary>
            Gets the values.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.KeyComparer">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Root">
            <summary>
            Gets the root node (for testing purposes).
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Item(`0)">
            <summary>
            Gets the <typeparamref name="TValue"/> with the specified key.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Item(`0)">
            <summary>
            Gets or sets the <typeparamref name="TValue"/> with the specified key.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.ToBuilder">
            <summary>
            Creates a collection with the same contents as this collection that
            can be efficiently mutated across multiple operations using standard
            mutable interfaces.
            </summary>
            <remarks>
            This is an O(1) operation and results in only a single (small) memory allocation.
            The mutable collection that is returned is *not* thread-safe.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Add(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.SetItem(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary.
            </summary>
            <param name="items">The key=value pairs to set on the map.  Any keys that conflict with existing keys will overwrite the previous values.</param>
            <returns>An immutable dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.WithComparers(System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.WithComparers(System.Collections.Generic.IComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.ContainsValue(`1)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/>
            contains an element with the specified value.
            </summary>
            <param name="value">
            The value to locate in the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/>.
            The value can be null for reference types.
            </param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/> contains
            an element with the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#Add(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#SetItem(`0,`1)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Applies a given set of key=value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary.
            </summary>
            <param name="items">The key=value pairs to set on the map.  Any keys that conflict with existing keys will overwrite the previous values.</param>
            <returns>An immutable dictionary.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#RemoveRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey,TValue}#Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.ContainsKey(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.TryGetKey(`0,`0@)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Add(`0,`1)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The object to use as the key of the element to add.</param>
            <param name="value">The object to use as the value of the element to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.
            </exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>
            true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key"/> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.
            </exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary"/> object has a fixed size.
            </summary>
            <returns>true if the <see cref="T:System.Collections.IDictionary"/> object has a fixed size; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/>.
              </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
            <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IDictionary"/> object contains an element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:System.Collections.IDictionary"/> object.</param>
            <returns>
            true if the <see cref="T:System.Collections.IDictionary"/> contains an element with the key; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.IDictionary"/> object.
            </summary>
            <param name="key">The key of the element to remove.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns></returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Clear">
            <summary>
            Clears this instance.
            </summary>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Wrap(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node,System.Int32,System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Creates a new sorted set wrapper for a node tree.
            </summary>
            <param name="root">The root of the collection.</param>
            <param name="count">The number of elements in the map.</param>
            <param name="keyComparer">The key comparer to use for the map.</param>
            <param name="valueComparer">The value comparer to use for the map.</param>
            <returns>The immutable sorted set instance.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.TryCastToImmutableMap(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}@)">
            <summary>
            Attempts to discover an <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/> instance beneath some enumerable sequence
            if one exists.
            </summary>
            <param name="sequence">The sequence that may have come from an immutable map.</param>
            <param name="other">Receives the concrete <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/> typed value if one can be found.</param>
            <returns><c>true</c> if the cast was successful; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Boolean,System.Boolean)">
            <summary>
            Bulk adds entries to the map.
            </summary>
            <param name="items">The entries to add.</param>
            <param name="overwriteOnCollision"><c>true</c> to allow the <paramref name="items"/> sequence to include duplicate keys and let the last one win; <c>false</c> to throw on collisions.</param>
            <param name="avoidToSortedMap"><c>true</c> when being called from <see cref="M:System.Collections.Immutable.ImmutableSortedDictionary`2.WithComparers(System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1})"/> to avoid <see cref="T:System.StackOverflowException"/>.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Wrap(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node,System.Int32)">
            <summary>
            Creates a wrapping collection type around a root node.
            </summary>
            <param name="root">The root node to wrap.</param>
            <param name="adjustedCountIfDifferentRoot">The number of elements in the new tree, assuming it's different from the current tree.</param>
            <returns>A wrapping collection type for the new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.FillFromEmpty(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Boolean)">
            <summary>
            Efficiently creates a new collection based on the contents of some sequence.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator">
            <summary>
            Enumerates the contents of a binary tree.
            </summary>
            <remarks>
            This struct can and should be kept in exact sync with the other binary tree enumerators: 
            <see cref="T:System.Collections.Immutable.ImmutableList`1.Enumerator"/>, <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator"/>, and <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator"/>.
            
            CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable 
            or by passing it to another method.  When this enumerator is disposed of it returns a mutable reference type stack to a resource pool,
            and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk
            that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data
            corruption and/or exceptions.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.s_enumeratingStacks">
            <summary>
            The resource pool of reusable mutable stacks for purposes of enumeration.
            </summary>
            <remarks>
            We utilize this resource pool to make "allocation free" enumeration achievable.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator._builder">
            <summary>
            The builder being enumerated, if applicable.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator._poolUserId">
            <summary>
            A unique ID for this instance of this enumerator.
            Used to protect pooled objects from use after they are recycled.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator._root">
            <summary>
            The set being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator._stack">
            <summary>
            The stack to use for enumerating the binary tree.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator._current">
            <summary>
            The node currently selected.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator._enumeratingBuilderVersion">
            <summary>
            The version of the builder (when applicable) that is being enumerated.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.#ctor(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node,System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Builder)">
            <summary>
            Initializes an <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator"/> structure.
            </summary>
            <param name="root">The root of the set to be enumerated.</param>
            <param name="builder">The builder, if applicable.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.System#Collections#Immutable#ISecurePooledObjectUser#PoolUserId">
            <inheritdoc/>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.Dispose">
            <summary>
            Disposes of this enumerator and returns the stack reference to the resource pool.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.MoveNext">
            <summary>
            Advances enumeration to the next element.
            </summary>
            <returns>A value indicating whether there is another element in the enumeration.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.Reset">
            <summary>
            Restarts enumeration.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.ThrowIfDisposed">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> if this enumerator has been disposed.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.ThrowIfChanged">
            <summary>
            Throws an exception if the underlying builder's contents have been changed since enumeration started.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the collection has changed.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.PushLeft(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            Pushes this node and all its Left descendants onto the stack.
            </summary>
            <param name="node">The starting node to push onto the stack.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Node">
            <summary>
            A node in the AVL tree storing this map.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.EmptyNode">
            <summary>
            The default empty node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Node._key">
            <summary>
            The key associated with this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Node._value">
            <summary>
            The value associated with this node.
            </summary>
            <remarks>
            Sadly this field could be readonly but doing so breaks serialization due to bug: 
            http://connect.microsoft.com/VisualStudio/feedback/details/312970/weird-argumentexception-when-deserializing-field-in-typedreferences-cannot-be-static-or-init-only
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Node._frozen">
            <summary>
            A value indicating whether this node has been frozen (made immutable).
            </summary>
            <remarks>
            Nodes must be frozen before ever being observed by a wrapping collection type
            to protect collections from further mutations.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Node._height">
            <summary>
            The depth of the tree beneath this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Node._left">
            <summary>
            The left tree.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Node._right">
            <summary>
            The right tree.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Node"/> class
            that is pre-frozen.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.#ctor(`0,`1,System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node,System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Node"/> class
            that is not yet frozen.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <param name="frozen">Whether this node is prefrozen.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
            <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.System#Collections#Immutable#IBinaryTree{System#Collections#Generic#KeyValuePair{TKey,TValue}}#Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.System#Collections#Immutable#IBinaryTree{System#Collections#Generic#KeyValuePair{TKey,TValue}}#Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Height">
            <summary>
            Gets the height of the tree beneath this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.System#Collections#Immutable#IBinaryTree#Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.System#Collections#Immutable#IBinaryTree#Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Value">
            <summary>
            Gets the value represented by the current node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.System#Collections#Immutable#IBinaryTree#Count">
            <summary>
            Gets the number of elements contained by this node and below.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Keys">
            <summary>
            Gets the keys.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Values">
            <summary>
            Gets the values.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey,TValue}}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Builder)">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <param name="builder">The builder, if applicable.</param>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32,System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.CopyTo(System.Array,System.Int32,System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Generic.IDictionary`2"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.NodeTreeFromSortedDictionary(System.Collections.Generic.SortedDictionary{`0,`1})">
            <summary>
            Creates a node tree from an existing (mutable) collection.
            </summary>
            <param name="dictionary">The collection.</param>
            <returns>The root of the node tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Add(`0,`1,System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1},System.Boolean@)">
            <summary>
            Adds the specified key.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.SetItem(`0,`1,System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1},System.Boolean@,System.Boolean@)">
            <summary>
            Adds the specified key.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="replacedExistingValue">Receives a value indicating whether an existing value was replaced.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Remove(`0,System.Collections.Generic.IComparer{`0},System.Boolean@)">
            <summary>
            Removes the specified key.
            </summary>
            <param name="key">The key.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new AVL tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.GetValueOrDefault(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Gets the value or default.
            </summary>
            <param name="key">The key.</param>
            <param name="keyComparer">The key comparer.</param>
            <returns>The value.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.TryGetValue(`0,System.Collections.Generic.IComparer{`0},`1@)">
            <summary>
            Tries to get the value.
            </summary>
            <param name="key">The key.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="value">The value.</param>
            <returns>True if the key was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.TryGetKey(`0,System.Collections.Generic.IComparer{`0},`0@)">
            <summary>
            Searches the dictionary for a given key and returns the equal key it finds, if any.
            </summary>
            <param name="equalKey">The key to search for.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="actualKey">The key from the dictionary that the search found, or <paramref name="equalKey"/> if the search yielded no match.</param>
            <returns>A value indicating whether the search was successful.</returns>
            <remarks>
            This can be useful when you want to reuse a previously stored reference instead of
            a newly constructed one (so that more sharing of references can occur) or to look up
            the canonical value, or a value that has more complete data than the value you currently have,
            although their comparer functions indicate they are equal.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.ContainsKey(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Determines whether the specified key contains key.
            </summary>
            <param name="key">The key.</param>
            <param name="keyComparer">The key comparer.</param>
            <returns>
            <c>true</c> if the specified key contains key; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.ContainsValue(`1,System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/>
            contains an element with the specified value.
            </summary>
            <param name="value">
            The value to locate in the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/>.
            The value can be null for reference types.
            </param>
            <param name="valueComparer">The value comparer to use.</param>
            <returns>
            true if the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2"/> contains
            an element with the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Contains(System.Collections.Generic.KeyValuePair{`0,`1},System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Determines whether [contains] [the specified pair].
            </summary>
            <param name="pair">The pair.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <returns>
            <c>true</c> if [contains] [the specified pair]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Freeze(System.Action{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.RotateLeft(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            AVL rotate left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.RotateRight(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            AVL rotate right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.DoubleLeft(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            AVL rotate double-left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.DoubleRight(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            AVL rotate double-right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Balance(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            Returns a value indicating whether the tree is in balance.
            </summary>
            <param name="tree">The tree.</param>
            <returns>0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.IsRightHeavy(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            Determines whether the specified tree is right heavy.
            </summary>
            <param name="tree">The tree.</param>
            <returns>
            <c>true</c> if [is right heavy] [the specified tree]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.IsLeftHeavy(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            Determines whether the specified tree is left heavy.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.MakeBalanced(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            Balances the specified tree.
            </summary>
            <param name="tree">The tree.</param>
            <returns>A balanced tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.NodeTreeFromList(System.Collections.Immutable.IOrderedCollection{System.Collections.Generic.KeyValuePair{`0,`1}},System.Int32,System.Int32)">
            <summary>
            Creates a node tree that contains the contents of a list.
            </summary>
            <param name="items">An indexable list with the contents that the new node tree should contain.</param>
            <param name="start">The starting index within <paramref name="items"/> that should be captured by the node tree.</param>
            <param name="length">The number of elements from <paramref name="items"/> that should be captured by the node tree.</param>
            <returns>The root of the created node tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.SetOrAdd(`0,`1,System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1},System.Boolean,System.Boolean@,System.Boolean@)">
            <summary>
            Adds the specified key. Callers are expected to have validated arguments.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="valueComparer">The value comparer.</param>
            <param name="overwriteExistingValue">if <c>true</c>, an existing key=value pair will be overwritten with the new one.</param>
            <param name="replacedExistingValue">Receives a value indicating whether an existing value was replaced.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new AVL tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.RemoveRecursive(`0,System.Collections.Generic.IComparer{`0},System.Boolean@)">
            <summary>
            Removes the specified key. Callers are expected to validate arguments.
            </summary>
            <param name="key">The key.</param>
            <param name="keyComparer">The key comparer.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new AVL tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Mutate(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node,System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Node)">
            <summary>
            Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node
            with the described changes.
            </summary>
            <param name="left">The left branch of the mutated node.</param>
            <param name="right">The right branch of the mutated node.</param>
            <returns>The mutated (or created) node.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Node.Search(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches the specified key. Callers are expected to validate arguments.
            </summary>
            <param name="key">The key.</param>
            <param name="keyComparer">The key comparer.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedDictionaryBuilderDebuggerProxy`2">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionaryBuilderDebuggerProxy`2._map">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionaryBuilderDebuggerProxy`2._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionaryBuilderDebuggerProxy`2.#ctor(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1}.Builder)">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionaryBuilderDebuggerProxy`2"/> class.
            </summary>
            <param name="map">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionaryBuilderDebuggerProxy`2.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedDictionaryDebuggerProxy`2">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionaryDebuggerProxy`2._map">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedDictionaryDebuggerProxy`2._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedDictionaryDebuggerProxy`2.#ctor(System.Collections.Immutable.ImmutableSortedDictionary{`0,`1})">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionaryDebuggerProxy`2"/> class.
            </summary>
            <param name="map">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedDictionaryDebuggerProxy`2.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSet">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(System.Collections.Generic.IComparer{``0})">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="comparer">The comparer.</param>
            <returns>
            The immutable collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(``0)">
            <summary>
            Creates a new immutable collection prefilled with the specified item.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="item">The item to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(System.Collections.Generic.IComparer{``0},``0)">
            <summary>
            Creates a new immutable collection prefilled with the specified item.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="comparer">The comparer.</param>
            <param name="item">The item to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateRange``1(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="comparer">The comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(``0[])">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(System.Collections.Generic.IComparer{``0},``0[])">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="comparer">The comparer.</param>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateBuilder``1">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateBuilder``1(System.Collections.Generic.IComparer{``0})">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="comparer">The comparer.</param>
            <returns>
            The immutable collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.ToImmutableSortedSet``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})">
            <summary>
            Enumerates a sequence exactly once and produces an immutable set of its contents.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <param name="source">The sequence to enumerate.</param>
            <param name="comparer">The comparer to use for initializing and adding members to the sorted set.</param>
            <returns>An immutable set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet.ToImmutableSortedSet``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Enumerates a sequence exactly once and produces an immutable set of its contents.
            </summary>
            <typeparam name="TSource">The type of element in the sequence.</typeparam>
            <param name="source">The sequence to enumerate.</param>
            <returns>An immutable set.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSet`1">
            <content>
            Contains the inner <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Builder"/> class.
            </content>
            <summary>
            An immutable sorted set implementation.
            </summary>
            <typeparam name="T">The type of elements in the set.</typeparam>
            <devremarks>
            We implement <see cref="T:System.Collections.Generic.IReadOnlyList`1"/> because it adds an ordinal indexer.
            We implement <see cref="T:System.Collections.Generic.IList`1"/> because it gives us <see cref="M:System.Collections.Generic.IList`1.IndexOf(`0)"/>, which is important for some folks.
            </devremarks>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSet`1.Builder">
            <summary>
            A sorted set that mutates with little or no memory allocations,
            can produce and/or build on immutable sorted set instances very efficiently.
            </summary>
            <remarks>
            <para>
            While <see cref="M:System.Collections.Immutable.ImmutableSortedSet`1.Union(System.Collections.Generic.IEnumerable{`0})"/> and other bulk change methods
            already provide fast bulk change operations on the collection, this class allows
            multiple combinations of changes to be made to a set with equal efficiency.
            </para>
            <para>
            Instance members of this class are <em>not</em> thread-safe.
            </para>
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Builder._root">
            <summary>
            The root of the binary tree that stores the collection.  Contents are typically not entirely frozen.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Builder._comparer">
            <summary>
            The comparer to use for sorting the set.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Builder._immutable">
            <summary>
            Caches an immutable instance that represents the current state of the collection.
            </summary>
            <value>Null if no immutable view has been created for the current version.</value>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Builder._version">
            <summary>
            A number that increments every time the builder changes its contents.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Builder._syncRoot">
            <summary>
            The object callers may use to synchronize access to this collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.#ctor(System.Collections.Immutable.ImmutableSortedSet{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Builder"/> class.
            </summary>
            <param name="set">A set to act as the basis for a new set.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Count">
            <summary>
            Gets the number of elements in this set.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read-only.
            </summary>
            <value>Always <c>false</c>.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Item(System.Int32)">
            <summary>
            Gets the element of the set at the given index.
            </summary>
            <param name="index">The 0-based index of the element in the set to return.</param>
            <returns>The element at the given position.</returns>
            <remarks>
            No index setter is offered because the element being replaced may not sort
            to the same position in the sorted collection as the replacing element.
            </remarks>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Max">
            <summary>
            Gets the maximum value in the collection, as defined by the comparer.
            </summary>
            <value>The maximum value in the set.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Min">
            <summary>
            Gets the minimum value in the collection, as defined by the comparer.
            </summary>
            <value>The minimum value in the set.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.KeyComparer">
            <summary>
             Gets or sets the <see cref="T:System.Collections.Generic.IComparer`1"/> object that is used to determine equality for the values in the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1"/>.
            </summary>
            <value>The comparer that is used to determine equality for the values in the set.</value>
            <remarks>
            When changing the comparer in such a way as would introduce collisions, the conflicting elements are dropped,
            leaving only one of each matching pair in the collection.
            </remarks>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Version">
            <summary>
            Gets the current version of the contents of this builder.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Root">
            <summary>
            Gets or sets the root node that represents the data in this collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Add(`0)">
            <summary>
            Adds an element to the current set and returns a value to indicate if the
            element was successfully added.
            </summary>
            <param name="item">The element to add to the set.</param>
            <returns>true if the element is added to the set; false if the element is already in the set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes all elements in the specified collection from the current set.
            </summary>
            <param name="other">The collection of items to remove from the set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current set so that it contains only elements that are also in a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a proper (strict) subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a proper (strict) superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Overlaps(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set overlaps with the specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set and other share at least one common element; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.SetEquals(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set and the specified collection contain the same elements.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is equal to other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.UnionWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#ICollection{T}#Add(`0)">
            <summary>
            Adds an element to the current set and returns a value to indicate if the
            element was successfully added.
            </summary>
            <param name="item">The element to add to the set.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Clear">
            <summary>
            Removes all elements from this set.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Contains(`0)">
            <summary>
            Determines whether the set contains a specific value.
            </summary>
            <param name="item">The object to locate in the set.</param>
            <returns>true if item is found in the set; false otherwise.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Remove(`0)">
            <summary>
             Removes the first occurrence of a specific object from the set.
            </summary>
            <param name="item">The object to remove from the set.</param>
            <returns><c>true</c> if the item was removed from the set; <c>false</c> if the item was not found in the set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A enumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A enumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A enumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Reverse">
            <summary>
            Returns an <see cref="T:System.Collections.Generic.IEnumerable`1"/> that iterates over this
            collection in reverse order.
            </summary>
            <returns>
            An enumerator that iterates over the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Builder"/>
            in reverse order.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.ToImmutable">
            <summary>
            Creates an immutable sorted set based on the contents of this instance.
            </summary>
            <returns>An immutable set.</returns>
            <remarks>
            This method is an O(n) operation, and approaches O(1) time as the number of
            actual mutations to the set since the last call to this method approaches 0.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.RefillOverIncrementalThreshold">
            <summary>
            This is the factor between the small collection's size and the large collection's size in a bulk operation,
            under which recreating the entire collection using a fast method rather than some incremental update
            (that requires tree rebalancing) is preferable.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Empty">
            <summary>
            An empty sorted set with the default sort comparer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1._root">
            <summary>
            The root node of the AVL tree that stores this set.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1._comparer">
            <summary>
            The comparer used to sort elements in this set.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1"/> class.
            </summary>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.#ctor(System.Collections.Immutable.ImmutableSortedSet{`0}.Node,System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1"/> class.
            </summary>
            <param name="root">The root of the AVL tree with the contents of this set.</param>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Max">
            <summary>
            Gets the maximum value in the collection, as defined by the comparer.
            </summary>
            <value>The maximum value in the set.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Min">
            <summary>
            Gets the minimum value in the collection, as defined by the comparer.
            </summary>
            <value>The minimum value in the set.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.IsEmpty">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Count">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.KeyComparer">
            <summary>
            See the <see cref="T:System.Collections.Generic.ISortKeyCollection`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Root">
            <summary>
            Gets the root node (for testing purposes).
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Item(System.Int32)">
            <summary>
            Gets the element of the set at the given index.
            </summary>
            <param name="index">The 0-based index of the element in the set to return.</param>
            <returns>The element at the given position.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.ToBuilder">
            <summary>
            Creates a collection with the same contents as this collection that
            can be efficiently mutated across multiple operations using standard
            mutable interfaces.
            </summary>
            <remarks>
            This is an O(1) operation and results in only a single (small) memory allocation.
            The mutable collection that is returned is *not* thread-safe.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.TryGetValue(`0,`0@)">
            <summary>
            Searches the set for a given value and returns the equal value it finds, if any.
            </summary>
            <param name="equalValue">The value to search for.</param>
            <param name="actualValue">The value from the set that the search found, or the original value if the search yielded no match.</param>
            <returns>A value indicating whether the search was successful.</returns>
            <remarks>
            This can be useful when you want to reuse a previously stored reference instead of 
            a newly constructed one (so that more sharing of references can occur) or to look up
            a value that has more complete data than the value you currently have, although their
            comparer functions indicate they are equal.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Intersect(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Except(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Produces a set that contains elements either in this set or a given sequence, but not both.
            </summary>
            <param name="other">The other sequence of items.</param>
            <returns>The new set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Union(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.WithComparer(System.Collections.Generic.IComparer{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Checks whether a given sequence of items entirely describe the contents of this set.
            </summary>
            <param name="other">The sequence of items to check against this set.</param>
            <returns>A value indicating whether the sets are equal.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a property (strict) subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a correct superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a correct superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a set is a subset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a subset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set is a superset of a specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set is a superset of other; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current set overlaps with the specified collection.
            </summary>
            <param name="other">The collection to compare to the current set.</param>
            <returns>true if the current set and other share at least one common element; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Reverse">
            <summary>
            Returns an <see cref="T:System.Collections.Generic.IEnumerable`1"/> that iterates over this
            collection in reverse order.
            </summary>
            <returns>
            An enumerator that iterates over the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1"/>
            in reverse order.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IndexOf(`0)">
            <summary>
            Gets the position within this set that the specified value does or would appear.
            </summary>
            <param name="item">The value whose position is being sought.</param>
            <returns>
            The index of the specified <paramref name="item"/> in the sorted set,
            if <paramref name="item"/> is found.  If <paramref name="item"/> is not 
            found and <paramref name="item"/> is less than one or more elements in this set, 
            a negative number which is the bitwise complement of the index of the first 
            element that is larger than value. If <paramref name="item"/> is not found 
            and <paramref name="item"/> is greater than any of the elements in the set,
            a negative number which is the bitwise complement of (the index of the last
            element plus 1).
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Contains(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Clear">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Intersect(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Except(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Produces a set that contains elements either in this set or a given sequence, but not both.
            </summary>
            <param name="other">The other sequence of items.</param>
            <returns>The new set.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Union(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See the <see cref="T:System.Collections.Immutable.IImmutableSet`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#Add(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            See <see cref="T:System.Collections.Generic.ISet`1"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <summary>
            See the <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#Clear">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
            <summary>
            See the <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IList{T}#Item(System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IList{T}#Insert(System.Int32,`0)">
            <summary>
            See the <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IList{T}#RemoveAt(System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IList"/> has a fixed size.
            </summary>
            <returns>true if the <see cref="T:System.Collections.IList"/> has a fixed size; otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#ICollection#SyncRoot">
            <summary>
            See <see cref="T:System.Collections.ICollection"/>.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#ICollection#IsSynchronized">
            <summary>
            See the <see cref="T:System.Collections.ICollection"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Add(System.Object)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to add to the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection,
            </returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Clear">
            <summary>
            Clears this instance.
            </summary>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IList"/> contains a specific value.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            true if the <see cref="T:System.Object"/> is found in the <see cref="T:System.Collections.IList"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#IndexOf(System.Object)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The index of <paramref name="value"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Insert(System.Int32,System.Object)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.IList"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="value"/> should be inserted.</param>
            <param name="value">The object to insert into the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Remove(System.Object)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to remove from the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#RemoveAt(System.Int32)">
            <summary>
            Removes at.
            </summary>
            <param name="index">The index.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:System.Object"/> at the specified index.
            </summary>
            <value>
            The <see cref="T:System.Object"/>.
            </value>
            <param name="index">The index.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <remarks>
            CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable 
            or by passing it to another method.  When this enumerator is disposed of it returns a mutable reference type stack to a resource pool,
            and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk
            that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data
            corruption and/or exceptions.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.TryCastToImmutableSortedSet(System.Collections.Generic.IEnumerable{`0},System.Collections.Immutable.ImmutableSortedSet{`0}@)">
            <summary>
            Discovers an immutable sorted set for a given value, if possible.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Wrap(System.Collections.Immutable.ImmutableSortedSet{`0}.Node,System.Collections.Generic.IComparer{`0})">
            <summary>
            Creates a new sorted set wrapper for a node tree.
            </summary>
            <param name="root">The root of the collection.</param>
            <param name="comparer">The comparer used to build the tree.</param>
            <returns>The immutable sorted set instance.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.UnionIncremental(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds items to this collection using the standard spine rewrite and tree rebalance technique.
            </summary>
            <param name="items">The items to add.</param>
            <returns>The new collection.</returns>
            <remarks>
            This method is least demanding on memory, providing the great chance of memory reuse
            and does not require allocating memory large enough to store all items contiguously.
            It's performance is optimal for additions that do not significantly dwarf the existing
            size of this collection.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Wrap(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Creates a wrapping collection type around a root node.
            </summary>
            <param name="root">The root node to wrap.</param>
            <returns>A wrapping collection type for the new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.LeafToRootRefill(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Creates an immutable sorted set with the contents from this collection and a sequence of elements.
            </summary>
            <param name="addedItems">The sequence of elements to add to this set.</param>
            <returns>The immutable sorted set.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator">
            <summary>
            Enumerates the contents of a binary tree.
            </summary>
            <remarks>
            This struct can and should be kept in exact sync with the other binary tree enumerators: 
            <see cref="T:System.Collections.Immutable.ImmutableList`1.Enumerator"/>, <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator"/>, and <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator"/>.
            
            CAUTION: when this enumerator is actually used as a valuetype (not boxed) do NOT copy it by assigning to a second variable 
            or by passing it to another method.  When this enumerator is disposed of it returns a mutable reference type stack to a resource pool,
            and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around) there is a risk
            that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data
            corruption and/or exceptions.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.s_enumeratingStacks">
            <summary>
            The resource pool of reusable mutable stacks for purposes of enumeration.
            </summary>
            <remarks>
            We utilize this resource pool to make "allocation free" enumeration achievable.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator._builder">
            <summary>
            The builder being enumerated, if applicable.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator._poolUserId">
            <summary>
            A unique ID for this instance of this enumerator.
            Used to protect pooled objects from use after they are recycled.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator._reverse">
            <summary>
            A flag indicating whether this enumerator works in reverse sort order.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator._root">
            <summary>
            The set being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator._stack">
            <summary>
            The stack to use for enumerating the binary tree.
            </summary>
            <remarks>
            We use <see cref="T:System.Collections.Immutable.RefAsValueType`1"/> as a wrapper to avoid paying the cost of covariant checks whenever
            the underlying array that the <see cref="T:System.Collections.Generic.Stack`1"/> class uses is written to. 
            We've recognized this as a perf win in ETL traces for these stack frames:
            clr!JIT_Stelem_Ref
              clr!ArrayStoreCheck
                clr!ObjIsInstanceOf
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator._current">
            <summary>
            The node currently selected.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator._enumeratingBuilderVersion">
            <summary>
            The version of the builder (when applicable) that is being enumerated.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.#ctor(System.Collections.Immutable.ImmutableSortedSet{`0}.Node,System.Collections.Immutable.ImmutableSortedSet{`0}.Builder,System.Boolean)">
            <summary>
            Initializes an <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator"/> structure.
            </summary>
            <param name="root">The root of the set to be enumerated.</param>
            <param name="builder">The builder, if applicable.</param>
            <param name="reverse"><c>true</c> to enumerate the collection in reverse.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.System#Collections#Immutable#ISecurePooledObjectUser#PoolUserId">
            <inheritdoc/>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            The current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.Dispose">
            <summary>
            Disposes of this enumerator and returns the stack reference to the resource pool.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.MoveNext">
            <summary>
            Advances enumeration to the next element.
            </summary>
            <returns>A value indicating whether there is another element in the enumeration.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.Reset">
            <summary>
            Restarts enumeration.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.ThrowIfDisposed">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> if this enumerator has been disposed.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.ThrowIfChanged">
            <summary>
            Throws an exception if the underlying builder's contents have been changed since enumeration started.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the collection has changed.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.PushNext(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Pushes this node and all its Left (or Right, if reversed) descendants onto the stack.
            </summary>
            <param name="node">The starting node to push onto the stack.</param>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSet`1.ReverseEnumerable">
            <summary>
            An reverse enumerable of a sorted set.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.ReverseEnumerable._root">
            <summary>
            The root node to enumerate.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.ReverseEnumerable.#ctor(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.ReverseEnumerable"/> class.
            </summary>
            <param name="root">The root of the data structure to reverse enumerate.</param>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.ReverseEnumerable.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.ReverseEnumerable.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSet`1.Node">
            <summary>
            A node in the AVL tree storing this set.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Node.EmptyNode">
            <summary>
            The default empty node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Node._key">
            <summary>
            The key associated with this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Node._frozen">
            <summary>
            A value indicating whether this node has been frozen (made immutable).
            </summary>
            <remarks>
            Nodes must be frozen before ever being observed by a wrapping collection type
            to protect collections from further mutations.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Node._height">
            <summary>
            The depth of the tree beneath this node.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Node._count">
            <summary>
            The number of elements contained by this subtree starting at this node.
            </summary>
            <remarks>
            If this node would benefit from saving 4 bytes, we could have only a few nodes 
            scattered throughout the graph actually record the count of nodes beneath them.
            Those without the count could query their descendants, which would often short-circuit
            when they hit a node that *does* include a count field.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Node._left">
            <summary>
            The left tree.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Node._right">
            <summary>
            The right tree.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Node"/> class
            that is pre-frozen.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.#ctor(`0,System.Collections.Immutable.ImmutableSortedSet{`0}.Node,System.Collections.Immutable.ImmutableSortedSet{`0}.Node,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Node"/> class
            that is not yet frozen.
            </summary>
            <param name="key">The value stored by this node.</param>
            <param name="left">The left branch.</param>
            <param name="right">The right branch.</param>
            <param name="frozen">Whether this node is prefrozen.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
              <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Height">
            <summary>
            Gets the height of the tree beneath this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.System#Collections#Immutable#IBinaryTree#Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.System#Collections#Immutable#IBinaryTree#Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.System#Collections#Immutable#IBinaryTree{T}#Left">
            <summary>
            Gets the left branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.System#Collections#Immutable#IBinaryTree{T}#Right">
            <summary>
            Gets the right branch of this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Value">
            <summary>
            Gets the value represented by the current node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Count">
            <summary>
            Gets the number of elements contained by this subtree starting at this node.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Key">
            <summary>
            Gets the key.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Max">
            <summary>
            Gets the maximum value in the collection, as defined by the comparer.
            </summary>
            <value>The maximum value in the set.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Min">
            <summary>
            Gets the minimum value in the collection, as defined by the comparer.
            </summary>
            <value>The minimum value in the set.</value>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Node.Item(System.Int32)">
            <summary>
            Gets the element of the set at the given index.
            </summary>
            <param name="index">The 0-based index of the element in the set to return.</param>
            <returns>The element at the given position.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.GetEnumerator(System.Collections.Immutable.ImmutableSortedSet{`0}.Builder)">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <param name="builder">The builder, if applicable.</param>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.CopyTo(`0[],System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.CopyTo(System.Array,System.Int32)">
            <summary>
            See the <see cref="T:System.Collections.Generic.ICollection`1"/> interface.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Add(`0,System.Collections.Generic.IComparer{`0},System.Boolean@)">
            <summary>
            Adds the specified key to the tree.
            </summary>
            <param name="key">The key.</param>
            <param name="comparer">The comparer.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Remove(`0,System.Collections.Generic.IComparer{`0},System.Boolean@)">
            <summary>
            Removes the specified key from the tree.
            </summary>
            <param name="key">The key.</param>
            <param name="comparer">The comparer.</param>
            <param name="mutated">Receives a value indicating whether this node tree has mutated because of this operation.</param>
            <returns>The new tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Contains(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Determines whether the specified key is in this tree.
            </summary>
            <param name="key">The key.</param>
            <param name="comparer">The comparer.</param>
            <returns>
              <c>true</c> if the tree contains the specified key; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Freeze">
            <summary>
            Freezes this node and all descendant nodes so that any mutations require a new instance of the nodes.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Search(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches for the specified key.
            </summary>
            <param name="key">The key to search for.</param>
            <param name="comparer">The comparer.</param>
            <returns>The matching node, or <see cref="F:System.Collections.Immutable.ImmutableSortedSet`1.Node.EmptyNode"/> if no match was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.IndexOf(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches for the specified key.
            </summary>
            <param name="key">The key to search for.</param>
            <param name="comparer">The comparer.</param>
            <returns>The matching node, or <see cref="F:System.Collections.Immutable.ImmutableSortedSet`1.Node.EmptyNode"/> if no match was found.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Reverse">
            <summary>
            Returns an <see cref="T:System.Collections.Generic.IEnumerable`1"/> that iterates over this
            collection in reverse order.
            </summary>
            <returns>
            An enumerator that iterates over the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1"/>
            in reverse order.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.RotateLeft(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            AVL rotate left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.RotateRight(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            AVL rotate right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.DoubleLeft(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            AVL rotate double-left operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.DoubleRight(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            AVL rotate double-right operation.
            </summary>
            <param name="tree">The tree.</param>
            <returns>The rotated tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Balance(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Returns a value indicating whether the tree is in balance.
            </summary>
            <param name="tree">The tree.</param>
            <returns>0 if the tree is in balance, a positive integer if the right side is heavy, or a negative integer if the left side is heavy.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.IsRightHeavy(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Determines whether the specified tree is right heavy.
            </summary>
            <param name="tree">The tree.</param>
            <returns>
            <c>true</c> if [is right heavy] [the specified tree]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.IsLeftHeavy(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Determines whether the specified tree is left heavy.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.MakeBalanced(System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Balances the specified tree.
            </summary>
            <param name="tree">The tree.</param>
            <returns>A balanced tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.NodeTreeFromList(System.Collections.Immutable.IOrderedCollection{`0},System.Int32,System.Int32)">
            <summary>
            Creates a node tree that contains the contents of a list.
            </summary>
            <param name="items">An indexable list with the contents that the new node tree should contain.</param>
            <param name="start">The starting index within <paramref name="items"/> that should be captured by the node tree.</param>
            <param name="length">The number of elements from <paramref name="items"/> that should be captured by the node tree.</param>
            <returns>The root of the created node tree.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Node.Mutate(System.Collections.Immutable.ImmutableSortedSet{`0}.Node,System.Collections.Immutable.ImmutableSortedSet{`0}.Node)">
            <summary>
            Creates a node mutation, either by mutating this node (if not yet frozen) or by creating a clone of this node
            with the described changes.
            </summary>
            <param name="left">The left branch of the mutated node.</param>
            <param name="right">The right branch of the mutated node.</param>
            <returns>The mutated (or created) node.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSetBuilderDebuggerProxy`1">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSetBuilderDebuggerProxy`1._set">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSetBuilderDebuggerProxy`1._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSetBuilderDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableSortedSet{`0}.Builder)">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSetBuilderDebuggerProxy`1"/> class.
            </summary>
            <param name="builder">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSetBuilderDebuggerProxy`1.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableSortedSetDebuggerProxy`1">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSetDebuggerProxy`1._set">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableSortedSetDebuggerProxy`1._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableSortedSetDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableSortedSet{`0})">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSetDebuggerProxy`1"/> class.
            </summary>
            <param name="set">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableSortedSetDebuggerProxy`1.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableStack">
            <summary>
            A set of initialization methods for instances of <see cref="T:System.Collections.Immutable.ImmutableStack`1"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack.Create``1">
            <summary>
            Returns an empty collection.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <returns>The immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack.Create``1(``0)">
            <summary>
            Creates a new immutable collection prefilled with the specified item.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="item">The item to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack.Create``1(``0[])">
            <summary>
            Creates a new immutable collection prefilled with the specified items.
            </summary>
            <typeparam name="T">The type of items stored by the collection.</typeparam>
            <param name="items">The items to prepopulate.</param>
            <returns>The new immutable collection.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack.Pop``1(System.Collections.Immutable.IImmutableStack{``0},``0@)">
            <summary>
            Pops the top element off the stack.
            </summary>
            <typeparam name="T">The type of values contained in the stack.</typeparam>
            <param name="stack">The stack to modify.</param>
            <param name="value">The value that was removed from the stack.</param>
            <returns>
            A stack; never <c>null</c>
            </returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableStack`1">
            <summary>
            An immutable stack.
            </summary>
            <typeparam name="T">The type of element stored by the stack.</typeparam>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1.s_EmptyField">
            <summary>
            The singleton empty stack.
            </summary>
            <remarks>
            Additional instances representing the empty stack may exist on deserialized stacks.
            </remarks>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1._head">
            <summary>
            The element on the top of the stack.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1._tail">
            <summary>
            A stack that contains the rest of the elements (under the top element).
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableStack`1"/> class
            that acts as the empty stack.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.#ctor(`0,System.Collections.Immutable.ImmutableStack{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableStack`1"/> class.
            </summary>
            <param name="head">The head element on the stack.</param>
            <param name="tail">The rest of the elements on the stack.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableStack`1.Empty">
            <summary>
            Gets the empty stack, upon which all stacks are built.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Clear">
            <summary>
            Gets the empty stack, upon which all stacks are built.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Immutable#IImmutableStack{T}#Clear">
            <summary>
            Gets an empty stack.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableStack`1.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value>
              <c>true</c> if this instance is empty; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Peek">
            <summary>
            Gets the element on the top of the stack.
            </summary>
            <returns>
            The element on the top of the stack. 
            </returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Push(`0)">
            <summary>
            Pushes an element onto a stack and returns the new stack.
            </summary>
            <param name="value">The element to push onto the stack.</param>
            <returns>The new stack.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Immutable#IImmutableStack{T}#Push(`0)">
            <summary>
            Pushes an element onto a stack and returns the new stack.
            </summary>
            <param name="value">The element to push onto the stack.</param>
            <returns>The new stack.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Pop">
            <summary>
            Returns a stack that lacks the top element on this stack.
            </summary>
            <returns>A stack; never <c>null</c></returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Pop(`0@)">
            <summary>
            Pops the top element off the stack.
            </summary>
            <param name="value">The value that was removed from the stack.</param>
            <returns>
            A stack; never <c>null</c>
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Immutable#IImmutableStack{T}#Pop">
            <summary>
            Returns a stack that lacks the top element on this stack.
            </summary>
            <returns>A stack; never <c>null</c></returns>
            <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Immutable.ImmutableStack`1.Enumerator"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Reverse">
            <summary>
            Reverses the order of a stack.
            </summary>
            <returns>The reversed stack.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableStack`1.Enumerator">
            <summary>
            Enumerates a stack with no memory allocations.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1.Enumerator._originalStack">
            <summary>
            The original stack being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1.Enumerator._remainingStack">
            <summary>
            The remaining stack not yet enumerated.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Enumerator.#ctor(System.Collections.Immutable.ImmutableStack{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableStack`1.Enumerator"/> struct.
            </summary>
            <param name="stack">The stack to enumerator.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableStack`1.Enumerator.Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.Enumerator.MoveNext">
            <summary>
            Moves to the first or next element.
            </summary>
            <returns>A value indicating whether there are any more elements.</returns>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject">
            <summary>
            Enumerates a stack with no memory allocations.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject._originalStack">
            <summary>
            The original stack being enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject._remainingStack">
            <summary>
            The remaining stack not yet enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject._disposed">
            <summary>
            A flag indicating whether this enumerator has been disposed.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject.#ctor(System.Collections.Immutable.ImmutableStack{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject"/> class.
            </summary>
            <param name="stack">The stack to enumerator.</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject.Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current element.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject.MoveNext">
            <summary>
            Moves to the first or next element.
            </summary>
            <returns>A value indicating whether there are any more elements.</returns>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject.Reset">
            <summary>
            Resets the position to just before the first element in the list.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject.Dispose">
            <summary>
            Disposes this instance.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStack`1.EnumeratorObject.ThrowIfDisposed">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> if this 
            enumerator has already been disposed.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ImmutableStackDebuggerProxy`1">
            <summary>
            A simple view of the immutable collection that the debugger can show to the developer.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStackDebuggerProxy`1._stack">
            <summary>
            The collection to be enumerated.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.ImmutableStackDebuggerProxy`1._contents">
            <summary>
            The simple view of the collection.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ImmutableStackDebuggerProxy`1.#ctor(System.Collections.Immutable.ImmutableStack{`0})">
            <summary>   
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableStackDebuggerProxy`1"/> class.
            </summary>
            <param name="stack">The collection to display in the debugger</param>
        </member>
        <member name="P:System.Collections.Immutable.ImmutableStackDebuggerProxy`1.Contents">
            <summary>
            Gets a simple debugger-viewable collection.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3">
            <summary>
            A thin wrapper around the <see cref="P:System.Collections.Generic.IDictionary`2.Keys"/> or <see cref="P:System.Collections.Generic.IDictionary`2.Values"/> enumerators so they look like a collection.
            </summary>
            <typeparam name="TKey">The type of key in the dictionary.</typeparam>
            <typeparam name="TValue">The type of value in the dictionary.</typeparam>
            <typeparam name="T">Either TKey or TValue.</typeparam>
        </member>
        <member name="F:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3._dictionary">
            <summary>
            The underlying wrapped dictionary.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3._keysOrValues">
            <summary>
            The key or value enumerable that this instance wraps.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.#ctor(System.Collections.Immutable.IImmutableDictionary{`0,`1},System.Collections.Generic.IEnumerable{`2})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3"/> class.
            </summary>
            <param name="dictionary">The dictionary to base on.</param>
            <param name="keysOrValues">The keys or values enumeration to wrap as a collection.</param>
        </member>
        <member name="P:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.IsReadOnly">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.Count">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
            <returns>The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</returns>
        </member>
        <member name="P:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.Dictionary">
            <summary>
            Gets the wrapped dictionary.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.Add(`2)">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.Clear">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.Contains(`2)">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.CopyTo(`2[],System.Int32)">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.Remove(`2)">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.GetEnumerator">
            <summary>
            See <see cref="T:System.Collections.Generic.IEnumerable`1"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            See <see cref="T:System.Collections.IEnumerable"/>
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="P:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
        </member>
        <member name="P:System.Collections.Immutable.KeysOrValuesCollectionAccessor`3.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
        </member>
        <member name="T:System.Collections.Immutable.KeysCollectionAccessor`2">
            <summary>
            A lightweight collection view over and IEnumerable of keys.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysCollectionAccessor`2.#ctor(System.Collections.Immutable.IImmutableDictionary{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.KeysCollectionAccessor`2"/> class.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.KeysCollectionAccessor`2.Contains(`0)">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.ValuesCollectionAccessor`2">
            <summary>
            A lightweight collection view over and IEnumerable of values.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ValuesCollectionAccessor`2.#ctor(System.Collections.Immutable.IImmutableDictionary{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.ValuesCollectionAccessor`2"/> class.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.ValuesCollectionAccessor`2.Contains(`1)">
            <summary>
            See <see cref="T:System.Collections.Generic.ICollection`1"/>
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.RefAsValueType`1">
            <summary>
            A simple struct we wrap reference types inside when storing in arrays to
            bypass the CLR's covariant checks when writing to arrays.
            </summary>
            <remarks>
            We use <see cref="T:System.Collections.Immutable.RefAsValueType`1"/> as a wrapper to avoid paying the cost of covariant checks whenever
            the underlying array that the <see cref="T:System.Collections.Generic.Stack`1"/> class uses is written to. 
            We've recognized this as a perf win in ETL traces for these stack frames:
            clr!JIT_Stelem_Ref
              clr!ArrayStoreCheck
                clr!ObjIsInstanceOf
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.RefAsValueType`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Immutable.RefAsValueType`1"/> struct.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.RefAsValueType`1.Value">
            <summary>
            The value.
            </summary>
        </member>
        <member name="T:System.Collections.Immutable.SecureObjectPool">
            <summary>
            Object pooling utilities.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SecureObjectPool.s_poolUserIdCounter">
            <summary>
            The ever-incrementing (and wrap-on-overflow) integer for owner id's.
            </summary>
        </member>
        <member name="F:System.Collections.Immutable.SecureObjectPool.UnassignedId">
            <summary>
            The ID reserved for unassigned objects.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SecureObjectPool.NewId">
            <summary>
            Returns a new ID.
            </summary>
        </member>
        <member name="P:System.Collections.Immutable.SecurePooledObject`1.Owner">
            <summary>
            Gets or sets the current owner of this recyclable object.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.SecurePooledObject`1.Use``1(``0@)">
            <summary>
            Returns the recyclable value if it hasn't been reclaimed already.
            </summary>
            <typeparam name="TCaller">The type of renter of the object.</typeparam>
            <param name="caller">The renter of the object.</param>
            <returns>The rented object.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if <paramref name="caller"/> is no longer the renter of the value.</exception>
        </member>
        <member name="T:System.Collections.Immutable.Requires">
            <summary>
            Common runtime checks that throw <see cref="T:System.ArgumentException"/> upon failure.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.Requires.NotNull``1(``0,System.String)">
            <summary>
            Throws an exception if the specified parameter's value is null.
            </summary>
            <typeparam name="T">The type of the parameter.</typeparam>
            <param name="value">The value of the argument.</param>
            <param name="parameterName">The name of the parameter to include in any thrown exception.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value"/> is <c>null</c></exception>
        </member>
        <member name="M:System.Collections.Immutable.Requires.NotNullPassthrough``1(``0,System.String)">
            <summary>
            Throws an exception if the specified parameter's value is null.  It passes through the specified value back as a return value.
            </summary>
            <typeparam name="T">The type of the parameter.</typeparam>
            <param name="value">The value of the argument.</param>
            <param name="parameterName">The name of the parameter to include in any thrown exception.</param>
            <returns>The value of the parameter.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value"/> is <c>null</c></exception>
        </member>
        <member name="M:System.Collections.Immutable.Requires.NotNullAllowStructs``1(``0,System.String)">
            <summary>
            Throws an exception if the specified parameter's value is null.
            </summary>
            <typeparam name="T">The type of the parameter.</typeparam>
            <param name="value">The value of the argument.</param>
            <param name="parameterName">The name of the parameter to include in any thrown exception.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value"/> is <c>null</c></exception>
            <remarks>
            This method exists for callers who themselves only know the type as a generic parameter which
            may or may not be a class, but certainly cannot be null.
            </remarks>
        </member>
        <member name="M:System.Collections.Immutable.Requires.FailArgumentNullException(System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentNullException"/>.
            </summary>
            <param name="parameterName">The name of the parameter that was null.</param>
        </member>
        <member name="M:System.Collections.Immutable.Requires.Range(System.Boolean,System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if a condition does not evaluate to true.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.Requires.FailRange(System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.Requires.Argument(System.Boolean,System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentException"/> if a condition does not evaluate to true.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.Requires.Argument(System.Boolean)">
            <summary>
            Throws an <see cref="T:System.ArgumentException"/> if a condition does not evaluate to true.
            </summary>
        </member>
        <member name="M:System.Collections.Immutable.Requires.FailObjectDisposed``1(``0)">
            <summary>
            Throws an <see cref="T:System.ObjectDisposedException"/> for a disposed object.
            </summary>
            <typeparam name="TDisposed">Specifies the type of the disposed object.</typeparam>
            <param name="disposed">The disposed object.</param>
        </member>
        <member name="T:System.Collections.Immutable.ValidatedNotNullAttribute">
            <summary>
            Indicates to Code Analysis that a method validates a particular parameter.
            </summary>
        </member>
        <member name="T:System.Linq.ImmutableArrayExtensions">
            <summary>
            LINQ extension method overrides that offer greater efficiency for <see cref="T:System.Collections.Immutable.ImmutableArray`1"/> than the standard LINQ methods
            </summary>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Select``2(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``1})">
            <summary>
            Projects each element of a sequence into a new form.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <typeparam name="TResult">The type of the result element.</typeparam>
            <param name="immutableArray">The immutable array.</param>
            <param name="selector">The selector.</param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.SelectMany``3(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
            <summary>
            Projects each element of a sequence to an <see cref="T:System.Collections.Generic.IEnumerable`1"/>,
            flattens the resulting sequences into one sequence, and invokes a result
            selector function on each element therein.
            </summary>
            <typeparam name="TSource">The type of the elements of <paramref name="immutableArray"/>.</typeparam>
            <typeparam name="TCollection">The type of the intermediate elements collected by <paramref name="collectionSelector"/>.</typeparam>
            <typeparam name="TResult">The type of the elements of the resulting sequence.</typeparam>
            <param name="immutableArray">The immutable array.</param>
            <param name="collectionSelector">A transform function to apply to each element of the input sequence.</param>
            <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
            <returns>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> whose elements are the result
            of invoking the one-to-many transform function <paramref name="collectionSelector"/> on each
            element of <paramref name="immutableArray"/> and then mapping each of those sequence elements and their
            corresponding source element to a result element.
            </returns>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Where``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Filters a sequence of values based on a predicate.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Any``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Gets a value indicating whether any elements are in this collection.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Any``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Gets a value indicating whether any elements are in this collection
            that match a given condition.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
            <param name="predicate">The predicate.</param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.All``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Gets a value indicating whether all elements in this collection
            match a given condition.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
            <param name="predicate">The predicate.</param>
            <returns>
            <c>true</c> if every element of the source sequence passes the test in the specified predicate, or if the sequence is empty; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.SequenceEqual``2(System.Collections.Immutable.ImmutableArray{``1},System.Collections.Immutable.ImmutableArray{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Determines whether two sequences are equal according to an equality comparer.
            </summary>
            <typeparam name="TDerived">The type of element in the compared array.</typeparam>
            <typeparam name="TBase">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.SequenceEqual``2(System.Collections.Immutable.ImmutableArray{``1},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Determines whether two sequences are equal according to an equality comparer.
            </summary>
            <typeparam name="TDerived">The type of element in the compared array.</typeparam>
            <typeparam name="TBase">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.SequenceEqual``2(System.Collections.Immutable.ImmutableArray{``1},System.Collections.Immutable.ImmutableArray{``0},System.Func{``1,``1,System.Boolean})">
            <summary>
            Determines whether two sequences are equal according to an equality comparer.
            </summary>
            <typeparam name="TDerived">The type of element in the compared array.</typeparam>
            <typeparam name="TBase">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Aggregate``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``0,``0})">
            <summary>
            Applies an accumulator function over a sequence.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Aggregate``2(System.Collections.Immutable.ImmutableArray{``1},``0,System.Func{``0,``1,``0})">
            <summary>
            Applies an accumulator function over a sequence.
            </summary>
            <typeparam name="TAccumulate">The type of the accumulated value.</typeparam>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Aggregate``3(System.Collections.Immutable.ImmutableArray{``2},``0,System.Func{``0,``2,``0},System.Func{``0,``1})">
            <summary>
            Applies an accumulator function over a sequence.
            </summary>
            <typeparam name="TAccumulate">The type of the accumulated value.</typeparam>
            <typeparam name="TResult">The type of result returned by the result selector.</typeparam>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.ElementAt``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32)">
            <summary>
            Returns the element at a specified index in a sequence.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.ElementAtOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32)">
            <summary>
            Returns the element at a specified index in a sequence or a default value if the index is out of range.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.First``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Returns the first element in a sequence that satisfies a specified condition.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.First``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Returns the first element in a sequence that satisfies a specified condition.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.FirstOrDefault``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Returns the first element of a sequence, or a default value if the sequence contains no elements.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.FirstOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Returns the first element of the sequence that satisfies a condition or a default value if no such element is found.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Last``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Returns the last element of a sequence.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Last``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Returns the last element of a sequence that satisfies a specified condition.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.LastOrDefault``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Returns the last element of a sequence, or a default value if the sequence contains no elements.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.LastOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Returns the last element of a sequence that satisfies a condition or a default value if no such element is found.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Single``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Single``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.SingleOrDefault``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.SingleOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
            <summary>
            Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``2(System.Collections.Immutable.ImmutableArray{``1},System.Func{``1,``0})">
            <summary>
            Creates a dictionary based on the contents of this array.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
            <param name="keySelector">The key selector.</param>
            <returns>The newly initialized dictionary.</returns>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``3(System.Collections.Immutable.ImmutableArray{``2},System.Func{``2,``0},System.Func{``2,``1})">
            <summary>
            Creates a dictionary based on the contents of this array.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TElement">The type of the element.</typeparam>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
            <param name="keySelector">The key selector.</param>
            <param name="elementSelector">The element selector.</param>
            <returns>The newly initialized dictionary.</returns>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``2(System.Collections.Immutable.ImmutableArray{``1},System.Func{``1,``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Creates a dictionary based on the contents of this array.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
            <param name="keySelector">The key selector.</param>
            <param name="comparer">The comparer to initialize the dictionary with.</param>
            <returns>The newly initialized dictionary.</returns>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``3(System.Collections.Immutable.ImmutableArray{``2},System.Func{``2,``0},System.Func{``2,``1},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Creates a dictionary based on the contents of this array.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TElement">The type of the element.</typeparam>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
            <param name="keySelector">The key selector.</param>
            <param name="elementSelector">The element selector.</param>
            <param name="comparer">The comparer to initialize the dictionary with.</param>
            <returns>The newly initialized dictionary.</returns>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.ToArray``1(System.Collections.Immutable.ImmutableArray{``0})">
            <summary>
            Copies the contents of this array to a mutable array.
            </summary>
            <typeparam name="T">The type of element contained by the collection.</typeparam>
            <param name="immutableArray"></param>
            <returns>The newly instantiated array.</returns>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.First``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
            <summary>
            Returns the first element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the collection is empty.</exception>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.FirstOrDefault``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
            <summary>
            Returns the first element in the collection, or the default value if the collection is empty.
            </summary>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Last``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
            <summary>
            Returns the last element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">Thrown if the collection is empty.</exception>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.LastOrDefault``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
            <summary>
            Returns the last element in the collection, or the default value if the collection is empty.
            </summary>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.Any``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
            <summary>
            Returns a value indicating whether this collection contains any elements.
            </summary>
        </member>
        <member name="M:System.Linq.ImmutableArrayExtensions.SelectManyIterator``3(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
            <summary>Provides the core iterator implementation of <see cref="M:System.Linq.ImmutableArrayExtensions.SelectMany``3(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})"/>.</summary>
        </member>
    </members>
</doc>
