code: public function replaceRecursive($collection)
      {
          return $this->createFrom(Arr::replaceRecursive($this->items, Arr::from($collection)));
      }
docs: 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