<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _merge_layout_objs(obj, subobj):
 """ Merge layout objects recursively Note: This function mutates the input obj dict, but it does not mutate the subobj dict Parameters obj: dict dict into which the sub-figure dict will be merged subobj: dict dict that sill be copied and merged into `obj` """

    for prop, val in subobj.items():
        if isinstance(val, dict) and prop in obj:
            # recursion
            _merge_layout_objs(obj[prop], val)
        elif (isinstance(val, list) and
              obj.get(prop, None) and
              isinstance(obj[prop][0], dict)):

            # append
            obj[prop].extend(val)
        else:
            # init/overwrite
            obj[prop] = copy.deepcopy(val)