Isn't this solved if you treat user defined (re: the developer) Types as an expression of business logic? Not so much as a way to signal inputs & outputs, but a way to expression why, how, and when those inputs & outputs are augmented?
Just having the ability to tag a functions param type as `string` is otherwise useless, other than trivial callsite validation, for instance.
Just having the ability to tag a functions param type as `string` is otherwise useless, other than trivial callsite validation, for instance.