Hope the title is conveying the correct information.
My problem is that I don't understand why call kwarg_function(some_func, a=1, b=2, c=3) fails. I would have thought that as 'c' isn't referenced with some_func() it would simply be ignored. Can anyone explain why 'c' isn't simply ignored.
def kwarg_function(function, **kwargs):
    print(kwargs)
    function(**kwargs)
def some_func(a, b):
    print(f"type: {type(a)} values: {a}")
    print(f"type: {type(b)} values: {b}")
kwarg_function(some_func, a=1, b=2)         # called successfully
kwarg_function(some_func, a=1, b=2, c=3)    # fails with unexpected keyword arg 'c'   
 
     
    