public OrderedSet <T> insertAt(int index, T item)
        {
            var result = new OrderedSet <T>(this);

            result.Insert(index, item);

            return(result);
        }