markPath ::  [Int] -> Grid ->  Grid
markPath path (Grid dims sqs) =
  let
    zipped = [(i, 1) | i <- path]
    pathset = Map.fromList zipped
    sqs' = Unboxed.imap (\ i x -> if Map.member i pathset then 5 else x) sqs
  in
    (Grid dims sqs')
markPath ::  [Int] -> Grid ->  Grid
markPath path (Grid dims sqs) =
  let
    zipped = [(i, 1) | i <- path]
    pathset = Map.fromList zipped
    sqs' = Unboxed.imap (\ i x -> if Map.member i pathset then 5 else x) sqs
  in
    (Grid dims sqs')
markPath path (Grid dims sqs) =
  let
    zipped = [(i, 1) | i <- path]
    pathset = Map.fromList zipped
    sqs' = Unboxed.imap (\ i x -> if Map.member i pathset then 5 else x) sqs
  in
    (Grid dims sqs')