 }
 
 func drawFunctional(state: State) -> () {
-    let outputs: Array<String> = state.positions["positions"]!.map { position in outputCar(position) }
+    let outputs = state.positions["positions"]!.map { position in outputCar(position) }
     
     print(join("\n", outputs))
 }

// Functional 1

typealias BandProperty = String
typealias Band = Dictionary<String, BandProperty>
typealias BandTransform = Band -> Band
typealias BandPropertyTransform = BandProperty -> BandProperty



// Functional

typealias Time = [String : Int]
typealias Positions = [String : [Int]]
typealias State = (time: Time, positions: Positions)

func moveCarsFunctional(positions: [Int]) -> [Int] {
    return positions.map { position in (randomPositiveNumberUpTo(10) > 3) ? position + 1 : position }
}

