code: def _dict_append(d, **kws):
      for k, v in kws.items():
          if k not in d:
              d[k] = v
              continue
          dv = d[k]
          if isinstance(dv, tuple):
              d[k] = dv + tuple(v)
          elif isinstance(dv, list):
              d[k] = dv + list(v)
          elif isinstance(dv, dict):
              _dict_append(dv, **v)
          elif is_string(dv):
              d[k] = dv + v
          else:
              raise TypeError(repr(type(dv)))
  
file_path: catboost/contrib/python/numpy/py2/numpy/distutils/core.py
imports: from __future__ import division, absolute_import, print_function
  import sys
  from distutils.core import *
  import warnings
  import distutils.core
  import distutils.dist
  from numpy.distutils.extension import Extension
  from numpy.distutils.numpy_distribution import NumpyDistribution
  from numpy.distutils.command import config, config_compiler, build, build_py, build_ext, build_clib, build_src, build_scripts, sdist, install_data, install_headers, install, bdist_rpm, install_clib
  from numpy.distutils.misc_util import get_data_files, is_sequence, is_string
label_desc: Use image node_id 1 for calling a global function with example usage: _dict_append(d) without return types