anchor.diff:        let location = { x = x; y = y; }
         let hasValue, outLocation = graph.cameFrom.TryGetValue(location)
         let pointer = if hasValue = false then location else outLocation
  -      if (graph.walls.Contains(location)) then Console.Write("##")
  -      else if (pointer.x = x + 1)         then Console.Write("\u2192 ")
  -      else if (pointer.x = x - 1)         then Console.Write("\u2190 ")
  -      else if (pointer.y = y + 1)         then Console.Write("\u2193 ")
  -      else if (pointer.y = y - 1)         then Console.Write("\u2191 ")
  -      else                                     Console.Write("* "))
  +      if location = start                      then Console.Write("s ")
  +      else if location = goal                  then Console.Write("g ")
  +      else if (graph.walls.Contains(location)) then Console.Write("##")
  +      else if (pointer.x = x + 1)              then Console.Write("→ ")
  +      else if (pointer.x = x - 1)              then Console.Write("← ")
  +      else if (pointer.y = y + 1)              then Console.Write("↓ ")
  +      else if (pointer.y = y - 1)              then Console.Write("↑ ")
  +      else                                          Console.Write("* "))
       Console.WriteLine())
   
   "Example test" &&& fun ctx ->
  
positive.code: 
  //test helpers
  
  let drawGrid graph =
    let xs = [ 0 .. graph.width - 1  ]
    let ys = [ 0 .. graph.height - 1 ]
    ys |> List.iter (fun y ->
  
negative.code:   let start = { x = 1; y = 4; }
    let goal =  { x = 8; y = 5; }
  
    drawGrid graph start goal
    System.Console.WriteLine("")
    let results = aStar graph start goal
    drawGrid results start goal
  
  run 1 |> ignore
  
  