anchor.diff:    | SwitchAlgorithm of Algorithm
   
   let init _ =
  -  { maze = None; mazeGenerator = huntKill 22 10; algorithm = ABW; currentPosition = (0,0); messages = []; revealed = Set.empty; eventGen = (fun _ -> None) }, [fun d -> d Refresh]
  +  { maze = None; mazeGenerator = (fun () -> Maze.create 1); algorithm = Algorithm.All |> List.last; currentPosition = (0,0); messages = []; revealed = Set.empty; eventGen = (fun _ -> None) }, [(fun d -> d (SwitchAlgorithm (Algorithm.All |> List.last))); (fun d -> d Refresh)]
   
   let update msg model =
     match msg with
  
positive.code:        { model with revealed = Set.ofList revealed }, []
      | None -> model, []
    | SwitchAlgorithm(alg) ->
      { model with mazeGenerator = (match alg with Binary -> binaryMaze | HunterKiller -> huntKill | ABW -> aldousBroderWilsons) 18 10; algorithm = alg }, [fun d -> d Refresh]
  
  module Key =
    let left = KeyDetect 37
  
negative.code:     node <- node'
    maze
  
  let recursiveBacktracker width height ()=
    let maze = Maze.create2D width height
    maze
  
  let eventsFor (maze: Maze.data) n =
    let r = new Random()
    let table = [|
  