Exploration of how to do fair traversals of simple combinatorial objects (e.g. powerset, cartesian product) in Clojure.