anchor.diff:                                                                "name", upcast "__Type"
                                                                 "ofType", null]]]
                                         "isDeprecated", upcast false
  -                                      "deprecationReason", null];
  -                                 upcast NameValueLookup.ofList [
  -                                      "name", upcast "enumValues"
  -                                      "args", upcast [
  -                                              box <| NameValueLookup.ofList [
  -                                                   "name", upcast "includeDeprecated"
  -                                                   "type", upcast NameValueLookup.ofList [
  -                                                           "kind", upcast "SCALAR"
  -                                                           "name", upcast "Boolean"
  -                                                           "ofType", null]
  -                                                   "defaultValue", upcast "false"];]
  -                                      "type", upcast NameValueLookup.ofList [
  -                                              "kind", upcast "LIST"
  -                                              "name", null
  -                                              "ofType", upcast NameValueLookup.ofList [
  -                                                      "kind", upcast "NON_NULL"
  +                                      "deprecationReason", null];]
  +                         "inputFields", null
  +                         "interfaces", upcast []
  +                         "enumValues", null
  +                         "possibleTypes", null];
  +                    upcast NameValueLookup.ofList [
  +                         "kind", upcast "OBJECT"
  +                         "name", upcast "__EnumValue"
  +                         "description", upcast "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string."
  +                         "fields", upcast [
  +                                 box <| NameValueLookup.ofList [
  +                                      "name", upcast "deprecationReason"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "SCALAR"
  +                                              "name", upcast "String"
  +                                              "ofType", null]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "description"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "SCALAR"
  +                                              "name", upcast "String"
  +                                              "ofType", null]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "isDeprecated"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "NON_NULL"
  +                                              "name", null
  +                                              "ofType", upcast NameValueLookup.ofList [
  +                                                      "kind", upcast "SCALAR"
  +                                                      "name", upcast "Boolean"
  +                                                      "ofType", null]]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "name"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "NON_NULL"
  +                                              "name", null
  +                                              "ofType", upcast NameValueLookup.ofList [
  +                                                      "kind", upcast "SCALAR"
  +                                                      "name", upcast "String"
  +                                                      "ofType", null]]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];]
  +                         "inputFields", null
  +                         "interfaces", upcast []
  +                         "enumValues", null
  +                         "possibleTypes", null];
  +                    upcast NameValueLookup.ofList [
  +                         "kind", upcast "OBJECT"
  +                         "name", upcast "__Field"
  +                         "description", upcast "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type."
  +                         "fields", upcast [
  +                                 box <| NameValueLookup.ofList [
  +                                      "name", upcast "args"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "NON_NULL"
  +                                              "name", null
  +                                              "ofType", upcast NameValueLookup.ofList [
  +                                                      "kind", upcast "LIST"
                                                         "name", null
                                                         "ofType", upcast NameValueLookup.ofList [
  -                                                              "kind", upcast "OBJECT"
  -                                                              "name", upcast "__EnumValue"
  -                                                              "ofType", null]]]
  -                                      "isDeprecated", upcast false
  -                                      "deprecationReason", null];
  -                                 upcast NameValueLookup.ofList [
  -                                      "name", upcast "inputFields"
  -                                      "args", upcast []
  -                                      "type", upcast NameValueLookup.ofList [
  -                                              "kind", upcast "LIST"
  -                                              "name", null
  -                                              "ofType", upcast NameValueLookup.ofList [
  -                                                      "kind", upcast "NON_NULL"
  -                                                      "name", null
  -                                                      "ofType", upcast NameValueLookup.ofList [
  -                                                              "kind", upcast "OBJECT"
  -                                                              "name", upcast "__InputValue"
  -                                                              "ofType", null]]]
  -                                      "isDeprecated", upcast false
  -                                      "deprecationReason", null];
  -                                 upcast NameValueLookup.ofList [
  -                                      "name", upcast "ofType"
  -                                      "args", upcast []
  -                                      "type", upcast NameValueLookup.ofList [
  -                                              "kind", upcast "OBJECT"
  -                                              "name", upcast "__Type"
  +                                                              "kind", upcast "NON_NULL"
  +                                                              "name", null
  +                                                              "ofType", upcast NameValueLookup.ofList [
  +                                                                      "kind", upcast "OBJECT"
  +                                                                      "name", upcast "__InputValue"]]]]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "deprecationReason"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "SCALAR"
  +                                              "name", upcast "String"
                                                 "ofType", null]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "description"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "SCALAR"
  +                                              "name", upcast "String"
  +                                              "ofType", null]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "isDeprecated"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "NON_NULL"
  +                                              "name", null
  +                                              "ofType", upcast NameValueLookup.ofList [
  +                                                      "kind", upcast "SCALAR"
  +                                                      "name", upcast "Boolean"
  +                                                      "ofType", null]]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "name"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "NON_NULL"
  +                                              "name", null
  +                                              "ofType", upcast NameValueLookup.ofList [
  +                                                      "kind", upcast "SCALAR"
  +                                                      "name", upcast "String"
  +                                                      "ofType", null]]
  +                                      "isDeprecated", upcast false
  +                                      "deprecationReason", null];
  +                                 upcast NameValueLookup.ofList [
  +                                      "name", upcast "type"
  +                                      "description", null
  +                                      "args", upcast []
  +                                      "type", upcast NameValueLookup.ofList [
  +                                              "kind", upcast "NON_NULL"
  +                                              "name", null
  +                                              "ofType", upcast NameValueLookup.ofList [
  +                                                      "kind", upcast "OBJECT"
  +                                                      "name", upcast "__Type"
  +                                                      "ofType", null]]
                                         "isDeprecated", upcast false
                                         "deprecationReason", null];]
                            "inputFields", null
  
positive.code:                                       "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "description"
                                        "args", upcast []
                                        "type", upcast NameValueLookup.ofList [
                                                "kind", upcast "SCALAR"
                                                "name", upcast "String"
                                                "ofType", null]
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "fields"
                                        "args", upcast [
                                                box <| NameValueLookup.ofList [
                                                     "name", upcast "includeDeprecated"
                                                     "type", upcast NameValueLookup.ofList [
                                                             "kind", upcast "SCALAR"
                                                             "name", upcast "Boolean"
                                                             "ofType", null]
                                                     "defaultValue", upcast "false"];]
                                        "type", upcast NameValueLookup.ofList [
                                                "kind", upcast "LIST"
                                                "name", null
  
negative.code:                     upcast NameValueLookup.ofList [
                           "kind", upcast "ENUM"
                           "name", upcast "__TypeKind"
                           "description", upcast "An enum describing what kind of type a given __Type is."
                           "fields", null
                           "inputFields", null
                           "interfaces", null
                           "enumValues", upcast [
                                   box <| NameValueLookup.ofList [
                                        "name", upcast "SCALAR"
                                        "description", upcast "Indicates this type is a scalar."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "OBJECT"
                                        "description", upcast "Indicates this type is an object. `fields` and `interfaces` are valid fields."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "INTERFACE"
                                        "description", upcast "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "UNION"
                                        "description", upcast "Indicates this type is a union. `possibleTypes` is a valid field."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "ENUM"
                                        "description", upcast "Indicates this type is an enum. `enumValues` is a valid field."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "INPUT_OBJECT"
                                        "description", upcast "Indicates this type is an input object. `inputFields` is a valid field."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "LIST"
                                        "description", upcast "Indicates this type is a list. `ofType` is a valid field."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "NON_NULL"
                                        "description", upcast "Indicates this type is a non-null. `ofType` is a valid field."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];]
                           "possibleTypes", null];
                      upcast NameValueLookup.ofList [
                           "kind", upcast "ENUM"
                           "name", upcast "__DirectiveLocation"
                           "description", upcast "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies."
                           "fields", null
                           "inputFields", null
                           "interfaces", null
                           "enumValues", upcast [
                                   box <| NameValueLookup.ofList [
                                        "name", upcast "QUERY"
                                        "description", upcast "Location adjacent to a query operation."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "MUTATION"
                                        "description", upcast "Location adjacent to a mutation operation."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "SUBSCRIPTION"
                                        "description", upcast "Location adjacent to a subscription operation."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "FIELD"
                                        "description", upcast "Location adjacent to a field."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "FRAGMENT_DEFINITION"
                                        "description", upcast "Location adjacent to a fragment definition."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "FRAGMENT_SPREAD"
                                        "description", upcast "Location adjacent to a fragment spread."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];
                                   upcast NameValueLookup.ofList [
                                        "name", upcast "INLINE_FRAGMENT"
                                        "description", upcast "Location adjacent to an inline fragment."
                                        "isDeprecated", upcast false
                                        "deprecationReason", null];]
                           "possibleTypes", null];
                      upcast NameValueLookup.ofList [
                          "kind", upcast "OBJECT"
                          "name", upcast "QueryRoot"
                          "description", null
                          "fields", upcast [
                              box <| NameValueLookup.ofList [
                                  "name", upcast "onlyField"
                                  "description", null
                                  "args", upcast []
                                  "type", upcast NameValueLookup.ofList [
                                      "kind", upcast "NON_NULL"
                                      "name", null
                                      "ofType", upcast NameValueLookup.ofList [
                                          "kind", upcast "SCALAR"
                                          "name", upcast "String"
                                          "ofType", null]]
                                  "isDeprecated", upcast false
                                  "deprecationReason", null];]
                          "inputFields", null
                          "interfaces", upcast []
                          "enumValues", null
                          "possibleTypes", null];]
              "directives", upcast [
                      box <| NameValueLookup.ofList [
                           "name", upcast "include"
                           "description", upcast "Directs the executor to include this field or fragment only when the `if` argument is true."
                           "locations", upcast [
                                   box <| "FIELD";
                                   upcast "FRAGMENT_SPREAD";
                                   upcast "INLINE_FRAGMENT";]
                           "args", upcast [
                                   box <| NameValueLookup.ofList [
                                        "name", upcast "if"
                                        "description", upcast "Included when true."
                                        "type", upcast NameValueLookup.ofList [
                                                "kind", upcast "NON_NULL"
                                                "name", null
                                                "ofType", upcast NameValueLookup.ofList [
                                                        "kind", upcast "SCALAR"
                                                        "name", upcast "Boolean"
                                                        "ofType", null]]
                                        "defaultValue", null];]];
                      upcast NameValueLookup.ofList [
                           "name", upcast "skip"
                           "description", upcast "Directs the executor to skip this field or fragment when the `if` argument is true."
                           "locations", upcast [
                                   box <| "FIELD";
                                   upcast "FRAGMENT_SPREAD";
                                   upcast "INLINE_FRAGMENT";]
                           "args", upcast [
                                   box <| NameValueLookup.ofList [
                                        "name", upcast "if"
                                        "description", upcast "Skipped when true."
                                        "type", upcast NameValueLookup.ofList [
                                                "kind", upcast "NON_NULL"
                                                "name", null
                                                "ofType", upcast NameValueLookup.ofList [
                                                        "kind", upcast "SCALAR"
                                                        "name", upcast "Boolean"
                                                        "ofType", null]]
                                        "defaultValue", null];]];
                      upcast NameValueLookup.ofList [
                          "name", upcast "defer"
                          "description", upcast "Defers the resolution of this field or fragment"
                          "locations", upcast [
                              box <| "FIELD";
                              upcast "FRAGMENT_DEFINITION";
                              upcast "FRAGMENT_SPREAD";
                              upcast "INLINE_FRAGMENT";]
                          "args", upcast []]
                      upcast NameValueLookup.ofList [
                          "name", upcast "stream"
                          "description", upcast "Streams the resolution of this field or fragment"
                          "locations", upcast [
                              box <| "FIELD";
                              upcast "FRAGMENT_DEFINITION";
                              upcast "FRAGMENT_SPREAD";
                              upcast "INLINE_FRAGMENT";]
                          "args", upcast []]]]]
      match result with
      | Direct(data, errors) ->
        empty errors
  