No, that last code still looks a mess. But it is written against the requirement for a single block of code that can be pasted into an on-line exercise. December is here and as far as Clojure is concerned I'm still tinkering with basic exercises. How do they manage, those folks who undertake to learn a new language every year? They use the new language to solve their real problems. Hmm.