public function replaceRecursive($collection)
    {
        return $this->createFrom(Arr::replaceRecursive($this->items, Arr::from($collection)));
    }
public function replaceRecursive($collection)
    {
        return $this->createFrom(Arr::replaceRecursive($this->items, Arr::from($collection)));
    }
Returns a bag with the items replaced recursively from the `$collection`.

This differs from {@see array_replace_recursive} in a couple ways:

- Lists (zero indexed and sequential items) from given collection completely replace lists in this Bag.

- Null values from given collection do not replace lists or associative arrays in this Bag
(they do still replace scalar values).

@param iterable $collection The collection from which items will be extracted

@return static