playing with heaps in clojure