/// <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>
            public void ExceptWith(IEnumerable <T> other)
            {
                var result = ImmutableHashSet <T> .Except(other, this.equalityComparer, this.root);

                this.Apply(result);
            }