may be `array_replace` ?