problema de Swift 3 con CVarArg que se pasa varias veces

Tengo el siguiente código en 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)
}

Si ve las declaraciones de impresión en las dos funciones anteriores, [] se agregan cada vez que se pasa CVarArg dentro de las funciones, lo que genera una cadena de localización incorrecta.

1) ¿CVarArg no se puede pasar varias veces como en el código anterior? 2) ¿Cómo arreglar esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta