anchor.diff:          | None    -> context <- TestContext.addTest context { Name = name; Test = f}
           | Some(v) -> v.it name f
   
  -    member self.run(results : TestReport) =
  -        let rec printNameStack(stack) : string =
  -            match stack with
  -            | []    -> ""
  -            | head::[] -> head
  -            | head::tail ->sprintf "%s %s" (printNameStack(tail)) head
  -
  -        context.Tests |> List.rev |> List.iter (fun x -> 
  -            TestContext.perform_setup context
  -            results.reportTestRun()
  -            let nameStack = x.Name :: (TestContext.name_stack context)
  -            let name = printNameStack(nameStack)
  -            try
  -                x.Test()
  -                results.reportTestName name Success
  -            with
  -            | AssertionError(e) ->
  -                results.reportFailure()
  -                results.reportTestName name (Failure(e))
  -            | ex -> 
  -                results.reportFailure()
  -                results.reportTestName name Error
  -            TestContext.perform_teardown context
  -        )
  -
  -        contexts |> List.rev |> List.iter (fun x ->
  -            x.run(results)
  -        )
  +    member self.run(results: TestReport) =
  +        TestContext.run context results
   
       member self.run() = 
           self.run(TestReport())
  
positive.code:         Setups: testFunc list;
          TearDowns: testFunc list;
          ParentContext : T option;
          }
  
      let create name parent = { 
  
negative.code:         Tests = [];
          Setups = [];
          TearDowns = [];
          ChildContexts = [];
      }
      let addTest ctx test = { ctx with Tests = test::ctx.Tests }
      let addSetup ctx setup = { ctx with Setups = setup::ctx.Setups }
      let addTearDown ctx tearDown = { ctx with TearDowns = tearDown::ctx.TearDowns }
      let addChildContext ctx child = { ctx with ChildContexts = child::ctx.ChildContexts }
  
      let rec perform_setup context =
          match context.ParentContext with
  