Clojure Is Simple (2017)
medium.com
medium.com
But still Clojure is a lot of fun and that's something you want to look for in a language.
Are you referring to a situation where you are developing macros and end up doing something at compile time that should happen at runtime? Or maybe a situation where you put your application logic in statements outside function definitions, possibly copied from a REPL session?
(alter-config-file!)
is bad because that code will run during compilation, but in (defn -main [& args]
(alter-config-file!)
(app!))
it will run only after calling -main.