a few unfold candidate implementation in Clojure