This differs from {@see \array_replace_recursive} in a couple ways:
- Lists (indexed arrays) from second array completely replace list in first array.
- Null values from second array do not replace lists or associative arrays in first
(they do still replace scalar values).