Implement a polyfill for Function.prototype.bind.
For this Python exercise, represent the target function with a JSON object containing an operation, and implement bind_polyfill(function_spec, this_arg, bound_args, call_args) to model binding and invocation. The result must apply this_arg, prepend bound_args before call_args, and support regular calls only; for example, a sum operation with base 10, bound arguments [5], and call arguments [3] returns 18, while a context-returning operation with null returns null.
function_spec is a dictionary with an operation from sum_context, format_context, collect, return_context, or multiply_context.this_arg is a JSON value, including a dictionary, string, number, boolean, or null.bound_args and call_args are lists of JSON values.def bind_polyfill(function_spec, this_arg, bound_args, call_args):