Examples of functional dynamic programming in Clojure