case classArgument[T](name: String, argumentType: InputType[_], description: Option[String], defaultValue: Option[Tuple2[_, ToInput[_, _]]], fromInput: FromInput[_], astDirectives: Vector[ast.Directive], astNodes: Vector[AstNode]) extends InputValue[T] with Named with HasAstInfo with Product with Serializable