anchor.diff:          { ExitCode = exitCode
             Messages = messages
             Errors = errors }
  +
   
   /// Runs the given process and returns the exit code.
   /// ## Parameters
  
positive.code: open System.Collections.Concurrent
  open System.ServiceProcess
  
  /// [omit]
  type internal ConcurrentBag<'T> with
      member internal this.Clear() =
  
negative.code: 
  /// [omit]
  let start (proc : Process) =
      if isMono || AlwaysSetProcessEncoding then
          try
              System.Console.OutputEncoding <- System.Text.Encoding.UTF8
          with exn ->
              logfn "Failed setting UTF8 console encoding, ignoring error... %s." exn.Message
  
      if isMono && proc.StartInfo.FileName.ToLowerInvariant().EndsWith(".exe") then
          proc.StartInfo.Arguments <- "--debug \"" + proc.StartInfo.FileName + "\" " + proc.StartInfo.Arguments
          proc.StartInfo.FileName <- monoPath
  
      proc.Start() |> ignore
      startedProcesses.Add(proc.Id, proc.StartTime) |> ignore
  
  