I'm doing some Python coding in a clients code base and I stumbled on a line of code that looks something like this (the variable names have been changed to protect the innocent):
reply = function1(a=foo, **function2(bar, b=baz))
Normally ** in the argument list collects remaining keyword arguments but what do they do in front of the function name?