Зачем нужно анонимную функцию оборачивать в скобки?
Потому что ты написал неправильно
Анонимная функция вызывает сама себя 
Так правильно:;(function (argument) {
  // some code
})()
В случае конкатенации кода из нескольких файлов сборщиками, в которых это может привести к ошибке в результирующем коде. Конкретно в данном премере - функция бессмысленна т.к. вызвать ее нельзя.