def prepare_args_model(self, wrapped: FunctionType, field_definitions: FieldDefinitions) -> ModelType: args_model = pydantic.create_model( model_name=getattr(wrapped, '__qualname__', 'callable') + '_args_model', __config__=self.config, __validators__=self.validators, **field_definitions ) args_model.__config__.extra = pydantic.Extra.forbid logging.debug(f'Created arguments model for {wrapped} with fields: {args_model.__fields__}') wrapped.__args_model__ = args_model # type: ignore return args_model