Object.recursive_merge refactoring