case classInputObjectType[T](name: String, description: Option[String] = None, fieldsFn: () ⇒ List[InputField[_]], astDirectives: Vector[ast.Directive]) extends InputType[@@[T, InputObjectResult]] with NullableType with UnmodifiedType with Named with Product with Serializable