how can I generate, say, an infinite list of all combinations of [:a :b :c], eg, [[:a], [:a :b], [:a :b :c], [:a :b :c :a], ...]
[:a :b :c]
[[:a], [:a :b], [:a :b :c], [:a :b :c :a], ...]
(using core.logic)