anchor.diff:            tracefn "%s %s" p.StartInfo.FileName p.StartInfo.Arguments
   
           p.Start() |> ignore
  +        startedProcesses.Add p.Id |> ignore
       with
       | exn -> failwithf "Start of process %s failed. %s" p.StartInfo.FileName exn.Message
   
  
positive.code:     return proc.ExitCode
  }
  
  /// Kills all processes with the given name
  let killProcess name =
      tracefn "Searching for process with name = %s" name
      Process.GetProcesses()
        |> Seq.filter (fun p -> p.ProcessName.ToLower().StartsWith(name.ToLower()))
        |> Seq.iter (fun p -> tracefn "Trying to kill process %s (Id = %d)" p.ProcessName p.Id; try p.Kill() with | exn -> ())
  
  /// Kills the F# Interactive (FSI) process.
  let killFSI() = killProcess "fsi.exe"
  
  /// Kills the MSBuild process.
  let killMSBuild() = killProcess "msbuild"
  
  /// Execute an external program and return the exit code.
  /// [omit]
  
negative.code:   
      try
          p.Start() |> ignore
          startedProcesses.Add p.Id |> ignore
      with
      | exn -> failwithf "Start of process %s failed. %s" p.StartInfo.FileName exn.Message
  
  