anchor.diff:                  Output = output
                   References = ["packages/FSharp.Core/lib/net40/FSharp.Core.dll"] })
   
  -Target "Run" <| fun _ ->
  +let run() =
       Shell.Exec output |> ignore
  +
  +Target "AssemblyInfo" createAssemblyInfo
  +Target "Compile" compile
  +Target "Run" run
   
   Target "Watch" <| fun _ ->
       use watcher =
  
positive.code:           Excludes = [assemblyInfo] }
          |> WatchChanges (fun changes ->
              tracefn "%A" changes
              Run "Run")
  
      // TODO: This appears to block.
      System.Console.ReadLine() |> ignore
  
negative.code:     |> List.ofArray
      |> (fun xs -> assemblyInfo::xs)
  
  let createAssemblyInfo() =
      CreateFSharpAssemblyInfo (defaultBaseDir + assemblyInfo)
          [Attribute.Title "Reload Demo"
           Attribute.Description "Demonstration of compiling and watching F# tools with FAKE"
           Attribute.Version version
           Attribute.FileVersion version]
  
  let compile() =
      // NOTE: file order matters, so this must be explicit.
      // TODO: allow an environVar to specify the file list.
      files
  