use `array_replace`