clojure.spec's Instrumentation makes it so that if you spec your functions and your data, you can ask Clojure to automatically check every single function call to make sure the arguments are correct. Not just during testing, but during development or even production. Instrumentation is turned on during development.