private function offset($offset): CollectionInterface
    {
        return $this->wrap(function (Iterator $iterator) use ($offset) {
            while ($offset-- > 0 && $iterator->valid()) {
                $iterator->next();
            }

            while ($iterator->valid()) {
                yield $iterator->key() => $iterator->current();
                $iterator->next();
            }
        });
    }