Implementation of free-time-window search algorithms in clojure