anchor.diff:    | Todo of id:Guid
     | Pass of id:Guid
     | Fail of id:Guid * ex:Exception
  -  | RunOver of minutes:int * seconds:int
  +  | RunOver of minutes:int * seconds:int * AsyncReplyChannel<int>
   
   let colorWriteReset color message =
     Console.ForegroundColor <- color
  
positive.code:           printMessages id
            colorWriteReset color.Yellow "Todo"
            return! loop passed failed skipped (todo + 1)
          | Reporter.RunOver (minutes, seconds) ->
              printfn ""
              printfn "%i minutes %i seconds to execute" minutes seconds
              colorWriteReset color.Green (sprintf "%i passed" passed)
              colorWriteReset color.Yellow (sprintf "%i skipped" skipped)
              colorWriteReset color.Yellow (sprintf "%i todo" todo)
              colorWriteReset color.Red (sprintf "%i failed" failed)
              return ()
        }
      loop 0 0 0 0)
  
negative.code:     ctx.printfn "A guid %A" (ng()))
  
  let maxDOP = 30
  let failedTest = run maxDOP
  printfn "final failed count %A" failedTest
  