(delay & body)
given body that returns a generator, returns a generator that delegates to that, but delays creation until used.
(defmacro delay [& body] `(delay-impl (c/delay ~@body)))