@askonomm So, the unpleasant part is: having type system and types for many data entities across the project (that is by definition very stupid entities) and then ALSO having schemas for all that types. So yours data definitions are duplicated in most placed. Meanwhile you could only use schemas.

I don't see any problems with describing data with schemas anywhere. That allow to add arbitrary strictness&checking exactly to desired part of your program/system and let other parts more free.