Code/System/CollectionExtensions.cs
using System;
using System.Collections.Generic;

namespace ExtendedBox.System;

public static class CollectionExtensions
{
    extension<T>(IList<T> ilist)
    {
        public void AddRange(params IEnumerable<T> items)
        {
            if(ilist is List<T> list)
            {
                list.AddRange(items);
                return;
            }

            foreach(var item in items)
                ilist.Add(item);
        }

        public void AddRange(ReadOnlySpan<T> items)
        {
            if(ilist is List<T> list)
            {
                list.AddRange(items);
                return;
            }

            for(int i = 0; i < items.Length; ++i)
                ilist.Add(items[i]);
        }
    }
}