Your last paragraph is good advice, but IMO I code like that in general. Consider this code:
(-> x doSomething1 doSomething2 doSomething3)
This was tested as I went, but after the fact, I had to change x. Now any part of the whole series of steps could be broken. This is where I spend 15 minutes trying to understand what the error message means. shrug Maybe this is just what's expected when you're new to clojure.