anchor.diff:                                Query = query
                                 Variables = %%variables }
                           async {
  +                            let sw = System.Diagnostics.Stopwatch()
  +                            sw.Start()
                               let! response = GraphQLClient.sendRequestAsync client request
  +                            sw.Stop()
  +                            printfn "Ran operation in %ims." sw.ElapsedMilliseconds
  +                            sw.Restart()
                               let responseJson = JsonValue.Parse response
  -                            return OperationResultBase(responseJson, schemaTypes, operationTypeName)
  -                        } @@>)
  +                            sw.Stop()
  +                            printfn "Converted query string response to JsonValue in %ims." sw.ElapsedMilliseconds
  +                            return OperationResultBase(responseJson, %%schemaTypes, operationTypeName)
  +                        } @@>
                   let varprm = variables |> List.map (fun (name, t) -> ProvidedParameter(name, t))
                   let prm = varprm @ [ProvidedParameter("customHttpHeaders", typeof<string>, optionalValue = "")]
                   let mdef = ProvidedMethod("AsyncRun", prm, Types.makeAsync rtdef, invoker)
  
positive.code:             "Operation" + hash
          let tdef = ProvidedTypeDefinition(className, Some typeof<OperationBase>)
          tdef.AddXmlDoc("Represents a GraphQL operation on the server.")
          // We need to reconstruct the map inside quotations, so we split it again into arrays here
          let schemaTypeNames = schemaTypes |> Seq.map (fun x -> x.Key) |> Array.ofSeq
          let schemaTypes = schemaTypes |> Seq.map (fun x -> x.Value) |> Array.ofSeq
          tdef.AddMembersDelayed(fun _ ->
              let rtdef = OperationResultBase.MakeProvidedType(operationType)
              let variables =
  
negative.code:                     List.zip names args |> List.map exprMapper
                  Expr.NewArray(typeof<string * obj>, args)
              let rundef = 
                  let invoker (args : Expr list) =
                      let operationName = Option.toObj operationDefinition.Name
                      let variables = varExprMapper variables args
                      <@@ let this = %%args.[0] : OperationBase
                          let client = OperationBase.GetClientInstance(this)
                          let customHttpHeaders = 
                              match %%args.[args.Length - 1] : string with
                              | "" -> this.CustomHttpHeaders
                              | other -> HttpHeaders.map (TextLocation.Create(other, resolutionFolder))
                          let request =
                              { ServerUrl = this.ServerUrl
                                CustomHeaders = customHttpHeaders
                                OperationName = Option.ofObj operationName
                                Query = query
                                Variables = %%variables }
                          let sw = System.Diagnostics.Stopwatch()
                          sw.Start()
                          let response = GraphQLClient.sendRequest client request
                          sw.Stop()
                          printfn "Ran operation in %ims." sw.ElapsedMilliseconds
                          sw.Restart()
                          let responseJson = JsonValue.Parse response
                          sw.Stop()
                          if sw.ElapsedMilliseconds > 0L then printfn "Converted query string response to JsonValue in %ims." sw.ElapsedMilliseconds
                          OperationResultBase(responseJson, %%schemaTypes, operationTypeName) @@>
                  let varprm = variables |> List.map (fun (name, t) -> ProvidedParameter(name, t))
                  let prm = varprm @ [ProvidedParameter("customHttpHeaders", typeof<string>, optionalValue = "")]
                  let mdef = ProvidedMethod("Run", prm, rtdef, invoker)
                  mdef.AddXmlDoc("Executes the operation on the server and fetch its results.")
                  mdef
              let arundef = 
                  let invoker (args : Expr list) =
                      let operationName = Option.toObj operationDefinition.Name
                      let variables = varExprMapper variables args
                      <@@ let this = %%args.[0] : OperationBase
                          let client = OperationBase.GetClientInstance(this)
                          let customHttpHeaders = 
                              match %%args.[args.Length - 1] : string with
  