code: def recursive_update(target, update):
      """Update recursively a (nested) dictionary with the content of another.
      Inspired from https://stackoverflow.com/questions/3232943/update-value-of-a-nested-dictionary-of-varying-depth
      """
      for key in update:
          value = update[key]
          if value is None:
              del target[key]
          elif isinstance(value, dict):
              target[key] = recursive_update(target.get(key, {}), value)
          else:
              target[key] = value
      return target
  
file_path: jupytext/src/jupytext/header.py
imports: import re
  import nbformat
  import yaml
  from nbformat.v4.nbbase import new_raw_cell
  from yaml.representer import SafeRepresenter
  from .languages import _SCRIPT_EXTENSIONS, comment_lines, default_language_from_metadata_and_ext
  from .metadata_filter import _DEFAULT_NOTEBOOK_METADATA, filter_metadata
  from .pep8 import pep8_lines_between_cells
  from .version import __version__
label_desc: Use image node_id 6 for calling a global function with example usage: recursive_update(target, update) and returns: target