anchor.diff:    [<CompiledName("FocusedTestCase")>]
     let FocusedTestCaseFT(name, test: System.Func<Task>) = ftestCaseAsync name (async { do! Async.AwaitTask (test.Invoke()) })
     let DefaultConfig = defaultConfig
  +
  +  type Expecto.Impl.ExpectoConfig with
  +
  +      // C# is weak and it is hard to update the configuration
  +      [<Extension; CompiledName("WithParallel")>]
  +      member x.WithParallel(parallel) = { x with parallel = parallel }
  +
  +      [<Extension; CompiledName("WithParallelWorkers")>]
  +      member x.WithParallelWorkers(parallelWorkers) = { x with parallelWorkers = parallelWorkers }
  +
  +      [<Extension; CompiledName("WithStress")>]
  +      member x.WithStress(stress) = { x with stress = stress }
  +
  +      [<Extension; CompiledName("WithStressTimeout")>]
  +      member x.WithStressTimeout(stressTimeout) = { x with stressTimeout = stressTimeout }
  +
  +      [<Extension; CompiledName("WithStressMemoryLimit")>]
  +      member x.WithStressMemoryLimit(stressMemoryLimit) = { x with stressMemoryLimit = stressMemoryLimit }
  +
  +      [<Extension; CompiledName("WithFilter")>]
  +      member x.WithFilter(filter) = { x with filter = filter }
  +
  +      [<Extension; CompiledName("WithFailOnFocusedTests")>]
  +      member x.WithFailOnFocusedTests(failOnFocusedTests) = { x with failOnFocusedTests = failOnFocusedTests }
  +
  +      [<Extension; CompiledName("WithPrinter")>]
  +      member x.WithPrinter(printer) = { x with printer = printer }
  +
  +      /// Set the printer - this replaces the current one
  +      [<Extension; CompiledName("WithPrinter")>]
  +      member x.WithPrinter(printer:ITestPrinter) = { x with printer = printerFromInterface printer }
  +
  +      /// Add an additional printer - this does not replace the current one
  +      [<Extension; CompiledName("AddPrinter")>]
  +      member x.AddPrinter(printer:ITestPrinter) =
  +        let combinedPrinter = TestPrinters.mergePrinters (x.printer, (printerFromInterface printer))
  +        { x with printer = combinedPrinter }
  +
  +      [<Extension; CompiledName("WithVerbosity")>]
  +      member x.WithVerbosity(verbosity) = { x with verbosity = verbosity }
  +
  +      [<Extension; CompiledName("WithLogName")>]
  +      member x.WithLogName(logName) = { x with logName = logName }
  +
  +      [<Extension; CompiledName("WithLocate")>]
  +      member x.WithLocate(locate) = { x with locate = locate }
  +
  +      [<Extension; CompiledName("WithFsCheckMaxTests")>]
  +      member x.WithFsCheckMaxTests(fsCheckMaxTests) = { x with fsCheckMaxTests = fsCheckMaxTests }
  +
  +      [<Extension; CompiledName("WithFsCheckStartSize")>]
  +      member x.WithFsCheckStartSize(fsCheckStartSize) = { x with fsCheckStartSize = fsCheckStartSize }
  +
  +      [<Extension; CompiledName("WithFsCheckEndSize")>]
  +      member x.WithFsCheckEndSize(fsCheckEndSize) = { x with fsCheckEndSize = fsCheckEndSize }
  +
  +      [<Extension; CompiledName("WithMySpiritIsWeak")>]
  +      member x.WithMySpiritIsWeak(mySpiritIsWeak) = { x with mySpiritIsWeak = mySpiritIsWeak }
  +
  +      [<Extension; CompiledName("WithAllowDuplicateNames")>]
  +      member x.WithAllowDuplicateNames(allowDuplicateNames) = { x with allowDuplicateNames = allowDuplicateNames }
positive.code:     {absolute=1e-12; relative=1e-9}
  
  namespace Expecto.CSharp
  open System.Runtime.CompilerServices
  
  [<AutoOpen; Extension>]
  module Runner =
    open Expecto
    open Expecto.Impl
    open System.Collections.Generic
    open System.Threading.Tasks
  
    type Async with
      static member AwaitTask(t : Task) =
  
negative.code:           do! innerPrinter.summary c s
            tcLog "testSuiteFinished" [
              "name", "ExpectoTestSuite" ] } }
      static member mergePrinters (first:TestPrinters, second:TestPrinters) =
        let runTwoAsyncs a b = async {
          do! a
  