#rant Pydantic sucks ass, it simply cannot express 'optional field' without workarounds
https://stackoverflow.com/questions/60191270/python-pydantic-how-to-have-an-optional-field-but-if-present-required-to-con
https://github.com/pydantic/pydantic/issues/1223
https://stackoverflow.com/questions/60191270/python-pydantic-how-to-have-an-optional-field-but-if-present-required-to-con
https://github.com/pydantic/pydantic/issues/1223