anchor.diff:  "Clean"
       ==> "GenerateCode"
   
  -["RunTests"; "RunMSBuildTests"; "NuGetPack"; "Benchmark"; "PrepareReferenceDocs"]
  +["RunTests"; "RunMSBuildTests"; "NuGetPack"; "Benchmark"; "PrepareDocsGeneration"]
   |> List.iter (fun target -> "GenerateCode" ==> target |> ignore)
   
   "Test" <== ["RunTests"; "RunMSBuildTests"]
  
positive.code: [""; "Debug"]
  |> List.iter (fun x ->
      "CleanDocs"
          ==> (sprintf "GenerateHelp%s" x)
          ==> (sprintf "GenerateReferenceDocs%s" x) |> ignore)
  
  "PrepareReferenceDocs" ==> "GenerateReferenceDocs"
  "PrepareReferenceDocs" ==> "GenerateReferenceDocsDebug"
  
  "GenerateReferenceDocs"
      ==> "GenerateDocs"
  
negative.code: layoutRootsAll.Add("en",[templates; formatting @@ "templates"; formatting @@ "templates/reference"])
  
  Target.description "Prepares the reference documentation generator"
  Target.create "PrepareDocsGeneration" (fun _ ->
      DotNet.publish (fun p ->
          {p with
              Framework = Some DocumentationAssemblyFramework
  