""" A generic parameter of an impl block. In `impl Foo for Bar` this is `T`. """ type Generic { params: [GenericParamDef!]! } type GenericParamDef { name: String! kind: GenericParamDefKind! } union GenericParamDefKind = { type: GenericParamType } | {} type GenericParamType { bounds: [GenericBound!]! } union GenericBound = { trait_bound: { trait: TypePath }! } | {} type TypePath { name: String! args: GenericArgs } union GenericArgs = { angle_bracketed: { args: [GenericArg!]! }! } | {} type GenericArg { type: Type } union Type = { kind: "qualified_path"! inner: { name: String! args: GenericArgs! }! } | {}