Как работает (arg)=>(arg)=> и т.д?
Это называется "стрелочная функция" https://developer.mozilla.org/ru/docs/Web/JavaScri...(arg) => arg
это то же самое что иfunction (arg) {
  return arg;
}
аarg => arg => arg;
это то же самое чтоfunction(arg) {
  return function(arg) {
    return arg;
  }
}
Последний пример не имеет особого смысла потому что первый arg никак не учитывается в дальнейшем.
У стрелочных функций есть одна особенность, отличающая их от обычных функций: стрелочная функция получает тот контекст this, где она была объявлена. За это их все безумно любят и предпочитают использовать вместо обычной function.
А что вам непонятно в этой записи? 
Стрелочная функция, которая возвращает стрелочную?