anchor.diff:      interface IDisposable with
           member __.Dispose() = __.Stop()
   
  -    /// Creates a process monitor instance with supplied parameters
  +    /// <summary>
  +    ///     Creates a process monitoring instance with supplied parameters.
  +    /// </summary>
  +    /// <param name="executable">Path to executable that will be used to spawn monitored computation. Defaults to current process path.</param>
  +    /// <param name="arguments">CLI params to use with child computation. Defaults to empty.</param>
  +    /// <param name="workingDirectory">Working directory to be used by child. Default to current working directory.</param>
  +    /// <param name="redirectStandardOutput">Redirect stdout and stderr. Defaults to true.</param>
  +    /// <param name="retryPolicy">Retry policy on child process death.</param>
  +    /// <param name="logger">Logger to be used by the monitor.</param>
       static member Create(?executable:string, ?arguments:string, ?workingDirectory:string,
                               ?redirectStandardOutput:bool, ?retryPolicy:ProcessMonitorRetryPolicy, ?logger:ISystemLogger) =
   
  
positive.code: 
      let actor = MailboxProcessor.Start(behaviour None)
  
      member __.Start() =
          match actor.PostAndReply Start with
          | None -> ()
          | Some e -> raise e
  
      member __.Stop() =
          match actor.PostAndReply Stop with
          | None -> ()
          | Some e -> raise e
  
      member __.CurrentProcess =
          actor.PostAndReply GetState |> Option.map snd
  
      member __.NumberOfRestarts =
          actor.PostAndReply GetState 
          |> Option.map (fun (ts,_) -> ts.Length)
  
negative.code:                           (procDurations |> Seq.averageBy (fun d -> d.TotalSeconds)) < 10. then None
                          else Some(TimeSpan.FromSeconds 10.) }
  
          let logger = match logger with Some l -> l | None -> NullLogger() :> _
          new ProcessMonitor(executable, arguments, workingDirectory, redirectStandardOutput, retryPolicy, logger)
  