anchor.diff:  
       member self.it (name: string) (f: unit -> unit) = 
           match current with
  -        | None    -> tests <- {Name = name; test = f}::tests
  +        | None    -> context <- TestContext.addTest context { Name = name; Test = f}
           | Some(v) -> v.it name f
   
       member self.perform_setup() =
  
positive.code:             | head::[] -> head
              | head::tail ->sprintf "%s %s" (printNameStack(tail)) head
  
          tests |> List.rev |> List.iter (fun x -> 
              self.perform_setup()
              results.reportTestRun()
              let nameStack = x.Name :: self.nameStack()
              let name = printNameStack(nameStack)
              try
                  x.test()
                  results.reportTestName name Success
              with
              | AssertionError(e) ->
  
negative.code:     member self.failedTests() = 
          failed |> List.rev
  
  module TestContext =
      type testFunc = unit -> unit
      type Test = {Name: string; Test: unit -> unit}
      type T = {
          Tests: Test list
          }
  
      let addTest ctx test = { ctx with Tests = test::ctx.Tests }
  
      let create () = { Tests = [] }
      
  type TestCollection(parent, name) =
      let mutable context = TestContext.create ()
      let mutable setups = []
      let mutable tearDowns = []
      let mutable contexts = []
  