tourLength ::  Vector (Float, Float) -> [Int] -> Float
  tourLength pairs tour = let coords = [ y | x <- tour, let y = pairs ! x ]
                          in sum $ zipWith distance coords (tail coords)
tourLength ::  Vector (Float, Float) -> [Int] -> Float
tourLength pairs tour = let coords = [ y | x <- tour, let y = pairs ! x ]
                          in sum $ zipWith distance coords (tail coords)
tourLength pairs tour = let coords = [ y | x <- tour, let y = pairs ! x ]
                          in sum $ zipWith distance coords (tail coords)