anchor.diff:                  errorOp path' err
               | ResolverObjectNode node ->
                   let path' = if node.Name <> "__index" then (node.Name :> obj)::path else path
  -                let mapper c = async {
  +                let mapper (c : AsyncVal<ResolverTree>) = asyncVal {
                       let! c' = c
                       return helper path' c'
                   }
  
positive.code:                     }
                  | [head'; String "__index"; head; String "__index"] as p, ResolverObjectNode n ->
                      asyncVal {
                          let next = n.Children |> Array.tryFind(fun c' -> c'.Name = head.ToString())
                          let! res =
                              match next with
                              | Some next' -> traversePath d fieldCtx p (AsyncVal.wrap next') (head'::pathAcc)
  
negative.code:     let mapLiveResult (tree : ResolverTree) (path : obj list) (d : DeferredExecutionInfo) (fieldCtx : ResolveFieldContext) =
          let getFieldName (node : ResolverNode) =
              match node.Children |> Array.tryHead with
              | Some c -> 
                  let res = c |> AsyncVal.get
                  res.Name
              | None -> failwithf "Expected a child for the object %A, but got none." node.Value
          let rec getObjectName (returnDef : OutputDef) (value : obj) (possibleTypesFn : TypeDef -> ObjectDef []) =
              match returnDef with
  