Design patterns in Clojure and Quil