support arbitrary types with custom __eq__ support Annotated in validate_arguments and in generic models with python 3.9