public bool TryConsume([MaybeNullWhen(false)] out T item) { if (!this.TryPeek(out item)) return false; ++this.Index; return true; }