Test-induced design damage in Clojure
An exploration of test-induced design damage (TIDD) in Clojure, examining how code modifications made solely for testing can lead to unnecessary complexity, with comparisons of various approaches including with-redefs, binding, protocols, and the dynamic-redef library.