       })
 
       if expansions.count > 0 {
-        return op!.prefix + op!.joiner.join(expansions)
+        return op!.prefix + expansions.joinWithSeparator(op!.joiner)
       }
 
       return ""

  override func expand(variable  variable:String, value:[AnyObject], explode:Bool) -> String? {
    if value.count > 0 {
      let joiner = explode ? self.joiner : ","
      let expandedValue = joiner.join(value.map {
        let expandedValue = self.expand(value: "\($0)")

        if explode {

  // Point to overide to expanding an array
  func expand(variable  variable:String, value:[AnyObject], explode:Bool) -> String? {
    let joiner = explode ? self.joiner : ","
    return value.map { self.expand(value: "\($0)") }.joinWithSeparator(joiner)
  }

  // Point to overide to expanding a dictionary
