anchor.diff:      |> appendIfSome parameters.Agents (sprintf "--agents=%i")
       |> appendIfNotNullOrEmpty parameters.Domain.ParamString "--domain="
       |> appendIfNotNullOrEmpty parameters.Framework.ParamString "--framework="
  +    |> appendIfNotNullOrEmpty parameters.Labels.ParamString "--labels="
       |> appendIfTrue parameters.Force32bit "--x86"
       |> appendIfTrue parameters.DisposeRunners "--dispose-runners"
       |> appendIfTrue (parameters.TimeOut <> NUnit3Defaults.TimeOut) (sprintf "--timeout=%i" (int parameters.TimeOut.TotalMilliseconds))
  
positive.code:       ProcessModel = DefaultProcessModel
        Agents = None
        Domain = DefaultDomainModel
        Framework = Default
        Force32bit = false
        DisposeRunners = false
        TimeOut = TimeSpan.FromMilliseconds((float)Int32.MaxValue)
  
negative.code:         | Mono35 -> "mono-3.5"
          | Mono40 -> "mono-4.0"
          | Other(name) -> name
  
  /// Option which allows to specify if a NUnit error should break the build.
  type NUnit3ErrorLevel = TestRunnerErrorLevel
  
  /// The --labels option in NUnit3 console runner. Specify whether to write test case names to the output.
  type LabelsLevel =
      | Default
      | Off
      | On
      | All
      member x.ParamString =
          match x with
          | Default -> ""
          | Off -> "Off"
          | On -> "On"
          | All -> "All"
  
  /// The NUnit 3 Console Parameters type. FAKE will use [NUnit3Defaults](fake-testing-nunit3.html) for values not provided.
  ///
  