:sig
StringMap array_merge(StringMap a, StringMap b)
DValue array_merge(DValue a, DValue b)

:params
a : left-hand source map or tree
b : right-hand source map or tree
return value : merged result

:see
>types
0_DValue
StringMap
json_decode

:content
Merges two maps or trees using PHP-like merge behavior.

For `StringMap`, keys from `b` overwrite keys from `a`.

For `DValue`, string keys from `b` overwrite keys from `a`. Numeric keys are appended and reindexed when either side behaves like a list.

This helper is the closest UCE equivalent to PHP `array_merge()` for common request, config, and JSON-shaped data.

## Related Concepts

- PHP: `array_merge()`
- JavaScript / Node.js: object spread, `Object.assign()`, or array concatenation depending on whether the data is map-like or list-like
