Use the Rest Operator with Function Parameters - help needed

Tell us what’s happening:
Can someone help with the following challenge ? Looks like the spread operator is there but none of the challenges are approved.

Your code so far


const sum = (function() {
  "use strict";
  return sum(...args) {
    const args = [ x, y, z ];
    return args.reduce((a, b) => a + b, 0);
})();
console.log(sum(1, 2, 3)); // 6

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/use-the-rest-operator-with-function-parameters/

Why did you remove the word function in front of sum(…args)?

Why did you delete the }; that closed of the inner sum function returned?

Lastly, when you write …args as the parameter in the inner sum function, you can create another args argument with const. Do you need const args = [ x, y, z ]; now?