Redoing coursera's progfun course in clojure because scala is not a lisp and that's a tragedy.