code: def overrideable_partial(func, *args, **default_kwargs):
      
      import functools
      @functools.wraps(func)
      def partial_wrapper(*given_args, **given_kwargs):
          kwargs = default_kwargs.copy()
          kwargs.update(given_kwargs)
          return func(*(args + given_args), **kwargs)
      return partial_wrapper
docs: like partial, but given kwargs can be overrideden at calltime