public void Basic()
{
var q = Queue<int>.Empty;
q.Count.AssertEquals(0);
q = q.Enqueue(5);
q.Count.AssertEquals(1);
q.Peek().AssertEquals(5);
q = q.Enqueue(6);
q.Count.AssertEquals(2);
q.Peek().AssertEquals(5);
q = q.Dequeue();
q.Count.AssertEquals(1);
q.Peek().AssertEquals(6);
q = q.Dequeue();
q.Count.AssertEquals(0);
}