Some fun utility functions I've used in clojure