Agreed. It's often accompanied by the dogma "make invalid states unrepresentable" which sounds good until you start trying to encode into the type system foo.bar being 1-42 unless foo.baz is above 10, where now foo.bar can be -42-1 instead, but if foo.omfg is prefixed with "wtf" then foo.baz needs to be above 20 for its modifiers to kick in.
Yeah good luck doing that in the type system in a way that is maintainable, open to modification, an scales with complexity.
You have misunderstood what it means to make invalid states unrepresentable.