System.Collections.Immutable by Microsoft

<PackageReference Include="System.Collections.Immutable" Version="1.3.0-preview1-24530-04" />

 ImmutableQueue

public static class ImmutableQueue
A set of initialization methods for instances of ImmutableQueue<T>.
public static ImmutableQueue<T> Create<T>()

Returns an empty collection.

public static ImmutableQueue<T> Create<T>(T item)

Creates a new immutable collection prefilled with the specified item.

public static ImmutableQueue<T> Create<T>(T[] items)

Creates a new immutable collection prefilled with the specified items.

public static ImmutableQueue<T> CreateRange<T>(IEnumerable<T> items)

Creates a new immutable collection prefilled with the specified items.

public static IImmutableQueue<T> Dequeue<T>(this IImmutableQueue<T> queue, out T value)

Retrieves the item at the head of the queue, and returns a queue with the head element removed.