Recursively merge properties from source objects into the target object, mutating it.
Nested plain objects are merged recursively, arrays are merged by index (e.g., [1, 2] + [3] → [3, 2]),
and class instances (Date, RegExp, custom classes) are assigned by reference. Circular references and
prototype pollution attempts (__proto__, constructor) are safely skipped.
Recursively merge properties from source objects into the target object, mutating it.
Nested plain objects are merged recursively, arrays are merged by index (e.g.,
[1, 2]+[3]→[3, 2]), and class instances (Date, RegExp, custom classes) are assigned by reference. Circular references and prototype pollution attempts (__proto__,constructor) are safely skipped.