A Clojure library for non-deterministic and parallel branching