rápida questão 3 com CVarArg sendo passado várias vezes

Eu tenho o código abaixo no swift 3:

 class StringUtility {

  static func Localizer(tableName: String?) -> (_ key: String, _ params: CVarArg...) -> String {
    return { (key: String, params: CVarArg...) in

      let content = NSLocalizedString(key, tableName: tableName, comment: "")

      if params.isEmpty {
        return content
      }

      print(params) ->>>>>> this prints [[[Wells Fargo]]]
      return NSString.init((format: content, arguments: getVaList(params))) as String
    }
  }
}

func localizationHelper(tableName: String, key: String, params: CVarArg...) -> String {
  let t = StringResourceUtility.Localizer(tableName: tableName)
  print(params) - >>>>>>>>>> this prints [[Wells Fargo]]
  return t(key, params)
}

Se você vir as instruções de impressão nas duas funções acima, [] serão anexadas toda vez que CVarArg for passado dentro de funções, resultando na saída incorreta da string de localização.

1) CVarArg não pode ser passado várias vezes como no código acima? 2) como consertar isso?

questionAnswers(1)

yourAnswerToTheQuestion