Something like clj spec, but described in data:

Looks like malli already meets most of these criteria, except the cue-like additivity.

coercers + inference

untyped -> typed

See Typing in Dataflow

🎨 Prior art