public function zip(...$items): ArrayCollection
    {
        $arrayItems = array_map(function ($items) {
            return $this->itemsArray($items);
        }, $items);

        $params = array_merge([function (...$items) {
            return new static($items);
        }, $this->items], $arrayItems);

        return new static(call_user_func_array('array_map', $params));
    }