Redux:Never Mutate State

Hey Guys,
I have tried to elaborate on this code using append method but seems I am not passing the test I just wanna know why?All I know that append appends element to an array just wanna know it is really mutate the array or not cause if it is it wouldn’t be working here

const ADD_TO_DO = 'ADD_TO_DO';

// A list of strings representing tasks to do:
const todos = [
  'Go to the store',
  'Clean the house',
  'Cook dinner',
  'Learn to code',
];

const immutableReducer = (state = todos, action) => {
  switch(action.type) {
    case ADD_TO_DO:
      // don't mutate state here or the tests will fail
      return todos.append(action.todo);

    default:
      return state;
  }
};

// an example todo argument would be 'Learn React',
const addToDo = (todo) => {
  return {
    type: ADD_TO_DO,
    todo
  }
}

const store = Redux.createStore(immutableReducer);

For arrays you use push to add elements in the end. Or you can use spread operator.
return [
…state,
todo
]

The spread operator will spread out all current elements in state and then add the todo after.