anchor.diff:      override this.RunAsync(diagnosticMessageSink:IMessageSink, messageBus:IMessageBus, constructorArguments:obj [], aggregator:ExceptionAggregator, cancellationTokenSource:Threading.CancellationTokenSource) =
           let test = new XunitTest(this, this.DisplayName)
           let summary = new RunSummary(Total = 1);
  -
  +        let outputHelper = new TestOutputHelper()
  +        outputHelper.Initialize(messageBus, test)
           let testExec() =
  -            let config = this.Init()
  +            
  +            let config = this.Init(outputHelper)
               let timer = ExecutionTimer()
               let result =
                   try
  
positive.code:                     match xunitRunner.Result with
                            | TestResult.True _ ->
                              let output = Runner.onFinishedToString "" xunitRunner.Result
                              new TestPassed(test, timer.Total, output) :> TestResultMessage
                            | TestResult.Exhausted _ ->
                              summary.Failed <- summary.Failed + 1
                              upcast new TestFailed(test, timer.Total, "", new PropertyFailedException(xunitRunner.Result))
                            | TestResult.False (testdata, originalArgs, shrunkArgs, Outcome.Exception e, seed)  ->
                              summary.Failed <- summary.Failed + 1
                              let message = sprintf "%s%s" Environment.NewLine (Runner.onFailureToString "" testdata originalArgs shrunkArgs seed)
                              upcast new TestFailed(test, timer.Total, "", new PropertyFailedException(message, e))
                            | TestResult.False _ ->
                              summary.Failed <- summary.Failed + 1
                              upcast new TestFailed(test, timer.Total, "", new PropertyFailedException(xunitRunner.Result))
                  with
                      | ex ->
                        summary.Failed <- summary.Failed + 1
                        upcast new TestFailed(test, timer.Total, "Exception during test:", ex)
  
              messageBus.QueueMessage(result) |> ignore
              summary.Time <- summary.Time + result.ExecutionTime
              if not (messageBus.QueueMessage(new TestFinished(test, summary.Time, result.Output))) then
  
negative.code:                 StartSize = factAttribute.GetNamedArgument("StartSize")
                  EndSize = factAttribute.GetNamedArgument("EndSize")
                  QuietOnSuccess = factAttribute.GetNamedArgument("QuietOnSuccess")
                  Every = if factAttribute.GetNamedArgument("Verbose") then 
                              fun n args -> output.WriteLine (Config.Verbose.Every n args); ""
                          else 
                              Config.Quick.Every
                  EveryShrink = if factAttribute.GetNamedArgument("Verbose") then 
                                  fun args -> output.WriteLine (Config.Verbose.EveryShrink args); ""
                                  else 
                                      Config.Quick.EveryShrink
                  Arbitrary = arbitraries
                  Runner = new XunitRunner()
              }
  