anchor.diff:        /// test name -> exception -> time taken -> unit
         exn: string -> exn -> TimeSpan -> unit
         /// Prints a summary given the test result counts
  -      summary : TestResultCounts -> unit }
  +      summary : TestResultSummary -> unit }
   
       static member Default =
         { beforeRun = fun _tests ->
  
positive.code:   let sumTestResults (results: #seq<TestRunResult>) =
      let counts =
        results
        |> Seq.map (fun r -> r.result)
        |> Seq.countBy TestResult.tag
        |> dict
  
      let get result =
          match counts.TryGetValue (TestResult.tag result) with
          | true, v -> v
          | _ -> 0
  
      { passed   = get TestResult.Passed
        ignored  = get (TestResult.Ignored "")
        failed   = get (TestResult.Failed "")
        errored  = get (TestResult.Error null)
        duration = results |> Seq.map (fun r -> r.duration) |> Seq.fold (+) TimeSpan.Zero }
  
    /// Hooks to print report through test run
    type TestPrinters =
  
negative.code:     let summary = { sumTestResults results with duration = w.Elapsed }
      printer.summary summary
  
      TestResultSummary.errorCode summary
  
    let testFromMember (mi: MemberInfo): Test option  =
      let getTestFromMemberInfo focusedState =
  