Difficulty: 5/10currying, function binding, higher-order functionsjavascriptCopyScenario Questions0-2 years experience1How would you use Function.prototype.bind to create a curried version of a simple add(a, b) function?2What will be the result when you call the curried add with one argument and then the second?3If you forget to return the bound function, what happens when you try to invoke the curried version?Follow-up QuestionsCan you walk me through how the bound function captures arguments step by step?What would happen if the original function relies on a specific this context?How would you test that your curry implementation works for functions of different arities?Suggest Improvement