In every programming language I’ve ever used, I occasionally yearn for a feature from some other language. When I’m in Java I want first-class functions like the ones in Scheme. In Ruby I want explicit dependencies like the ones in Java. No matter how good your language is, there’s enough great work going on in other languages that chances are you’ll eventually see a feature from another language that intrigues you. Thankfully, in Clojure, we can implement many of these missing features ourselves.