public IChunk dropFirst() { if (_off == _end) throw new InvalidOperationException("dropFirst of empty chunk"); return new ArrayChunk(_array, _off + 1, _end); }