anchor.diff:      | TestCase of TestCode
       | TestList of Test list
       | TestLabel of string * Test
  +    with
  +        static member toTestCodeList =
  +            let rec loop parentName testList =
  +                function
  +                | TestLabel (name, test) -> 
  +                    let fullName = 
  +                        if String.IsNullOrEmpty parentName
  +                            then name
  +                            else parentName + "/" + name
  +                    loop fullName testList test
  +                | TestCase test -> (parentName, test)::testList
  +                | TestList tests -> List.collect (loop parentName testList) tests
  +            loop null []
  +        static member wrap f =
  +            let rec loop = 
  +                function
  +                | TestCase test -> TestCase (f test)
  +                | TestList testList -> TestList (List.map loop testList)
  +                | TestLabel (label, test) -> TestLabel (label, loop test)
  +            loop
   
   [<AutoOpen>]
   [<Extension>]
  
positive.code:         Test.Setup(setup, fun d -> d.Dispose())
  
      [<Extension>]
      static member Wrap (test, f: Func<_,_>) = wrap f.Invoke test
negative.code:           Failed = get 2
            Errored = get 3
            Time = results |> Seq.map (fun r -> r.Time) |> TimeSpan.sum }
  
      let evalTestList =
          let failExceptions = [ 
  