Ghostwheel: https://github.com/gnl/ghostwheel is a remarkable Clojure library. It has compile-time effect detection (so it can verify you use foo! names) and even generative testing! (The readme is a fun read too.)