           return nil
         }
         
-        var byte:Int
-        var res:Int = 0
-        var shift:Int = 0
+        var byte: Int
+        var res = 0
+        var shift = 0
         
         repeat {
           byte = Int(polyline[index].value) - 63

  private var latitudeEncoder = PointEncoder()
  private var longitudeEncoder = PointEncoder()
  
  mutating func encode(coordinate:CLLocationCoordinate2D) -> String {
    return latitudeEncoder.encode(coordinate: coordinate.latitude) + longitudeEncoder.encode(coordinate: coordinate.longitude)
  }
}


  
  mutating func next() -> Element? {
    guard
      let lat = self.latitude.nextValue(polyline: self.polylineUnicodeChars, index: &self.current),
      let lng = self.longitude.nextValue(polyline: self.polylineUnicodeChars, index: &self.current)
    else {
      return nil
    }
