anchor.diff:                  | Some location ->
                       let content = conf.Sitelet.Controller.Handle(action)
                       let! rC = resolveContent projectFolder rootFolder st location content
  -                    do table.[action] <- rC.Path
  +                    do actionTable.[action] <- rC.Path
  +                    do urlTable.[location] <- rC.Path
                       do res.Add(rC)
                   | None -> ()
               return res.ToArray()
  
positive.code: 
  let WriteSite (aR: AssemblyResolver) (conf: Config) =
      let st = State(conf)
      let table = Dictionary()
      let projectFolder = conf.Options.ProjectDirectory
      let rootFolder = conf.Options.OutputDirectory
      let contents () =
  
negative.code:                     ResolveUrl = id,
                      Json = st.Json,
                      Link = (fun action ->
                          // First try to find from action table.
                          match actionTable.TryGetValue(action) with
                          | true, p -> rC.RelativePath + P.ShowPath p
                          | false, _ ->
                              // Otherwise, link to the action using the router
                              match conf.Sitelet.Router.Link action with
                              | Some loc ->
                                  match urlTable.TryGetValue(loc) with
                                  | true, p -> rC.RelativePath + P.ShowPath p
                                  | false, _ -> rC.RelativePath + trimPath (string loc)
                              | None ->
                                  let msg = "Failed to link to action from " + P.ShowPath rC.Path
                                  stdout.WriteLine("Warning: " + msg)
  