anchor.diff:          match msg with
           | Manager.Initialize (suites) ->
             //build a worker per suite/test combo and give them their work
  -          let workers = suites |> List.map (fun suite -> suite.Tests |> List.map (fun test -> newWorker self suite test)) |> List.concat
  +          let workers = suites |> List.map (fun suite -> suite.Tests |> List.map (fun test -> newWorker self suite test)) |> List.concat |> List.rev
             return! loop workers
           | Manager.Start ->
             //kick off the initial X workers
  
positive.code: let maxDOP = 30
  
  let private runtest (suite : Suite) (test : Test) =
    reporter.Post(Reporter.TestStart test.Id)
    //if System.Object.ReferenceEquals(test.Func, todo) then
    //  ()
    //  //reporter.todo ()
    //else if System.Object.ReferenceEquals(test.Func, skipped) then
    //  ()
    //  //skip test.Id
    //else
    //  ()
    test.Func (TestContext(test.Id, reporter))
      //tryTest test suite (suite.Before >> test.Func)
      //tryTest test suite (suite.After >> pass)
  
    reporter.Post(Reporter.TestEnd test.Id)
  
  let newWorker (manager : actor<Manager>) suite test : actor<Worker> =
    actor.Start(fun self ->
  
negative.code: //demo
  context "Test Context"
  
  
  "Skipped test" &&! fun ctx ->
    ()
  
  "Todo test" &&& todo
  
  [1..50]
  |> List.iter (fun i ->
    sprintf "Test %i" i &&& fun ctx ->
      ctx.printfn "A guid %A" (ng())
      ctx.printfn "I am test %i" i
      if i % 10 = 0 then failwith "mod error"
      ctx.printfn "A guid %A" (ng()))
  
  run()
  
  