anchor.diff:    let mutable logger = Log.create "Expecto"
     let setLogName name = logger <- Log.create name
   
  +  let rec private exnWithInnerMsg (ex: exn) msg =
  +    let currentMsg = 
  +      msg + (sprintf "%s%s" Environment.NewLine (ex.ToString()))
  +    if isNull ex.InnerException then
  +      currentMsg
  +    else
  +      exnWithInnerMsg ex.InnerException currentMsg
  +
     type TestResult =
       | Passed
       | Ignored of string
  
positive.code:       | Passed -> "Passed"
        | Ignored reason -> "Ignored: " + reason
        | Failed error -> "Failed: " + error
        | Error e -> 
          let rec printInner (ex: exn) msg =
            let currentMsg = 
              msg + (sprintf "%s%s" Environment.NewLine (ex.ToString()))
            if isNull ex.InnerException then
              currentMsg
            else
              printInner ex.InnerException currentMsg
  
          let exMsg = printInner e ""
          
          "Exception: " + exMsg
      member x.tag =
        match x with
        | Passed -> 0
  
negative.code: 
          exn = fun n e d -> async {
            do! innerPrinter.beforeEach n
            tcLog "testFailed" [
              "flowId", formatName n
              "name", formatName n
              "message", e.Message
              "details", e.StackTrace ]
            tcLog "testFinished" [
              "flowId", formatName n
  