anchor.diff:          state |> Map.tryPick (fun _ project ->
               match Map.tryFind sourceFile project.FileInfos with
               | Some fileInfo ->
  +                // sprintf "File %s (compiled %b) belongs to project %s"
  +                //     (getRelativePath sourceFile) fileInfo.IsCompiled (getRelativePath project.ProjectFile)
  +                // |> Log.logVerbose
                   let project =
                       // When a script is modified, restart the project with new options
                       // (to check for new references, loaded projects, etc.)
  
positive.code:                     then createProject (Some project.ProjectOptions) project.ProjectFile
                      else project
                  // Set file as already compiled
                  fileInfo.IsCompiled <- true
                  Some project
              | None -> None)
      let addOrUpdateProject (project: Project) state =
  
negative.code:             | ex -> failwithf "Cannot load plugin %s: %s" path ex.Message)
      |> Seq.toList
  
  let getRelativePath path =
      Path.getRelativePath (IO.Directory.GetCurrentDirectory()) path
  
  let parseFSharpProject (checker: FSharpChecker) (projOptions: FSharpProjectOptions) (com: ICompiler) =
      sprintf "Parsing %s..." (getRelativePath projOptions.ProjectFileName)
      |> Log.logAllways
      let checkProjectResults =
          projOptions
  