code: def dict_copy(func):
      "copy dict keyword args, to avoid modifying caller's copy"
      @functools.wraps(func)
      def wrapper(*args, **kwargs):
          copied_kwargs = copy.deepcopy(kwargs)
          return func(*args, **copied_kwargs)
      return wrappef dict_copy(func):
      "copy dict keyword args, to avoid modifying caller's copy"
      @functools.wraps(func)
      def wrapper(*args, **kwargs):
          copied_kwargs = copy.deepcopy(kwargs)
          return func(*args, **copied_kwargs)
      return wrapper
docs: copy dict keyword args, to avoid modifying caller's copy