Clojure spec is a new specification/contracts library for clojure available as of version 1.9.
Specs are leveraged in a number of ways including being included in documentation, data validation, generating data for testing and more.