anchor.diff:              | ex -> 
                   results.reportFailure()
                   results.reportTestName name Error
  -            self.performTearDown()
  +            TestContext.perform_teardown context
           )
   
           contexts |> List.rev |> List.iter (fun x ->
  
positive.code:         | None    -> context <- TestContext.addTest context { Name = name; Test = f}
          | Some(v) -> v.it name f
  
      member self.perform_setup() =
          match parent with
          | None    -> ()
          | Some(x) -> x.perform_setup()
          context.Setups |> List.iter (fun y -> y())
  
      member self.performTearDown() =
          context.TearDowns |> List.iter (fun y -> y())
          match parent with
          | None    -> ()
          | Some(x) -> x.performTearDown()
  
      member self.nameStack () =
          match parent with
          | None    -> []
          | Some(x) -> name::x.nameStack()
  
      member self.run(results : TestReport) =
          let rec printNameStack(stack) : string =
              match stack with
  
negative.code:             | 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()
  