anchor.diff:  
   type Msg =
     | Refresh
  +  | Reveal
     | Move of Direction
   
   let init _ =
  
positive.code:         ]
        R.div [] [
          R.button [OnClick (fun _ -> dispatch Refresh)] [R.str "New Maze"]
          ]
        R.div [] [
          R.text [] [
  
negative.code:         { model' with messages = (x,y,message)::model.messages }, []
      | _ ->
        model, []
    | Reveal ->
      match model.maze with
      | Some(maze) ->
         let xdim, ydim = Maze.dimensions maze
         let revealed = [for x in 0..xdim do for y in 0..ydim do yield (x,y)]
         { model with revealed = Set.ofList revealed }, []
      | None -> model, []
  
  module Key =
    let left = KeyDetect 37
  