anchor.diff:      match o with
       | :? string as s -> String s
       | _ -> Other
  +
  +let private formatErrors (errors : Error list) =
  +    errors 
  +    |> List.map (fun err ->
  +        let (message, path) = err
  +        NameValueLookup.ofList ["message", upcast message; "path", upcast path])
   
   let private executeQueryOrMutation (resultSet: (string * ExecutionInfo) []) (ctx: ExecutionContext) (objdef: ObjectDef) (fieldExecuteMap: FieldExecuteMap) value =
       let resultTrees =
  
positive.code:             Args = args
              Variables = ctx.Variables
          }
          let formatErrors (errors : Error list) =
              errors 
              |> List.map (fun err ->
                  let (message, path) = err
                  NameValueLookup.ofList ["message", upcast message; "path", upcast path])
          let nvli (path : obj list) (index : int) (err : Error list) data =
              let data' = [ data ] :> obj
              match err with
  
negative.code:     |> Observable.bind(fun v -> 
          buildResolverTree returnType fieldCtx fieldExecuteMap (Some v) 
          |> AsyncVal.map(treeToDict)
          |> AsyncVal.map(fun (data, err) -> 
              match err with
              | [] -> NameValueLookup.ofList["data", data.Value] :> Output
              | _ -> NameValueLookup.ofList["data", data.Value; "errors", upcast (formatErrors err)] :> Output)
          |> AsyncVal.map(fun d -> printfn "Async dict %A" d;d)
          |> AsyncVal.toAsync
          |> Observable.ofAsync)
  