System.Collections.Immutable by Microsoft

<PackageReference Include="System.Collections.Immutable" Version="9.0.0-preview.5.24306.7" />

.NET API 254,216 bytes

 IImmutableQueue<T>

public interface IImmutableQueue<T> : IEnumerable<T>, IEnumerable
Represents an immutable first-in, first-out collection of objects. NuGet package: System.Collections.Immutable (about immutable collections and how to install)
bool IsEmpty { get; }

Gets a value that indicates whether this immutable queue is empty.

Returns a new queue with all the elements removed.

Removes the first element in the immutable queue, and returns the new queue.

Adds an element to the end of the immutable queue, and returns the new queue.

T Peek()

Returns the element at the beginning of the immutable queue without removing it.