Pydantic is using classes and typehinting. The new dataclasses style. Currently Maat doens't have a parser for dataclasses, it could come in the future. Pydantic works great with typehinting.
If only for conciseness, readability and speed, I'd take Pydantic over any day. Being able to express 80% of type checking using Python native type hints + dataclasses is just so intuitive!
And it's getting some wide adoption, for instance FastAPI which uses it for request validations.
Mmmh interesting requirement! Indeed, defining very nested structure with Pydantic is one of its weaknesses.
And of course I agree 100% about tradoffs in engineering. However I usually advise against using 2 dependencies doing mainly the same thing if possible within the same project.
basically ist’s just functions that take a value of one type and return a other one