Error: `cat` field must be of an input type
   ╭─[0056_variables_are_input_types.graphql:1:16]
   │
 1 │ query takesCat($cat: Cat) {
   │                      ─┬─  
   │                       ╰─── this is of `object` type
   │ 
   │ Help: objects, unions, and interfaces cannot be used because variables can only be of input type
───╯
Error: variable `cat` cannot be used for argument `atOtherHomes` as their types mismatch
   ╭─[0056_variables_are_input_types.graphql:3:20]
   │
 1 │ query takesCat($cat: Cat) {
   │                ────┬────  
   │                    ╰────── variable `cat` of type `Cat` is declared here
   │ 
 3 │     isHouseTrained(atOtherHomes: $cat)
   │                    ─────────┬────────  
   │                             ╰────────── argument `atOtherHomes` of type `Boolean` is declared here
───╯
Error: `dog` field must be of an input type
   ╭─[0056_variables_are_input_types.graphql:7:20]
   │
 7 │ query takesDogBang($dog: Dog!) {
   │                          ─┬─  
   │                           ╰─── this is of `object` type
   │ 
   │ Help: objects, unions, and interfaces cannot be used because variables can only be of input type
───╯
Error: variable `dog` cannot be used for argument `atOtherHomes` as their types mismatch
   ╭─[0056_variables_are_input_types.graphql:9:20]
   │
 7 │ query takesDogBang($dog: Dog!) {
   │                    ─────┬────  
   │                         ╰────── variable `dog` of type `Dog!` is declared here
   │ 
 9 │     isHouseTrained(atOtherHomes: $dog)
   │                    ─────────┬────────  
   │                             ╰────────── argument `atOtherHomes` of type `Boolean` is declared here
───╯
Error: `pets` field must be of an input type
    ╭─[0056_variables_are_input_types.graphql:13:22]
    │
 13 │ query takesListOfPet($pets: [Pet]) {
    │                              ─┬─  
    │                               ╰─── this is of `interface` type
    │ 
    │ Help: objects, unions, and interfaces cannot be used because variables can only be of input type
────╯
Error: variable `pets` cannot be used for argument `booleanListArg` as their types mismatch
    ╭─[0056_variables_are_input_types.graphql:14:15]
    │
 13 │ query takesListOfPet($pets: [Pet]) {
    │                      ──────┬─────  
    │                            ╰─────── variable `pets` of type `[Pet]` is declared here
 14 │   booleanList(booleanListArg: $pets)
    │               ──────────┬──────────  
    │                         ╰──────────── argument `booleanListArg` of type `[Boolean!]` is declared here
────╯
Error: `catOrDog` field must be of an input type
    ╭─[0056_variables_are_input_types.graphql:17:21]
    │
 17 │ query takesCatOrDog($catOrDog: CatOrDog) {
    │                                ────┬───  
    │                                    ╰───── this is of `union` type
    │ 
    │ Help: objects, unions, and interfaces cannot be used because variables can only be of input type
────╯
Error: variable `catOrDog` cannot be used for argument `atOtherHomes` as their types mismatch
    ╭─[0056_variables_are_input_types.graphql:19:20]
    │
 17 │ query takesCatOrDog($catOrDog: CatOrDog) {
    │                     ─────────┬─────────  
    │                              ╰─────────── variable `catOrDog` of type `CatOrDog` is declared here
    │ 
 19 │     isHouseTrained(atOtherHomes: $catOrDog)
    │                    ───────────┬───────────  
    │                               ╰───────────── argument `atOtherHomes` of type `Boolean` is declared here
────╯
Error: cannot find type `Dragon` in this document
    ╭─[0056_variables_are_input_types.graphql:23:22]
    │
 23 │ query takesCatOrDog2($catOrDog: Dragon) {
    │                                 ───┬──  
    │                                    ╰──── not found in the type system
────╯
Error: variable `catOrDog` cannot be used for argument `atOtherHomes` as their types mismatch
    ╭─[0056_variables_are_input_types.graphql:25:20]
    │
 23 │ query takesCatOrDog2($catOrDog: Dragon) {
    │                      ────────┬────────  
    │                              ╰────────── variable `catOrDog` of type `Dragon` is declared here
    │ 
 25 │     isHouseTrained(atOtherHomes: $catOrDog)
    │                    ───────────┬───────────  
    │                               ╰───────────── argument `atOtherHomes` of type `Boolean` is declared here
────╯

