 
 // Unfunctional
 
-let bands: Array<Dictionary<String, String>> = [
+let bands: [ [String : String] ] = [
     ["name" : "sunset rubdown", "country" : "UK"],
     ["name" : "women", "country" : "Germany"],
     ["name" : "a silver mt. zion", "country" : "Spain"]
 ]
 var bandsMutable = originalBands
 
-func formatBands(inout bands: Array<Dictionary<String, String>>) -> () {
-    var newBands: Array<Dictionary<String, String>> = []
+func formatBands(inout bands: [ [String : String] ]) -> () {
+    var newBands: [ [String : String] ] = []
     
     for band in bands {
-        var newBand: Dictionary<String, String> = band
+        var newBand: [String : String] = band
         newBand["country"] = "Canada"
         newBand["name"] = newBand["name"]!.capitalizedString
         

    return Int(arc4random_uniform(UInt32(number)))
}

func randomElement(array: Array<String>) -> String {
    let randomIndex = randomPositiveNumberUpTo(array.count)
    return array[randomIndex]
}


// OR shorthand:

func formattedBandsShorthand(bands: [Band], functions: [BandTransform]) -> [Band] {
    return bands.map {
        functions.reduce($0) { $1($0) }
    }
