The following snippet fails because <!
is outside of {{go}} boundaries.
`
(let [port (a/chan)]
(a/go
(letfn [(my-even? [n] (if (zero? n) true (my-odd? (dec n))))
(my-odd? [n] (if (zero? n) false (my-even? (dec n))))]
(my-even? (a/<! port)))))
`
Async code in {{letfn}} body should be rewritten by the {{go}} macro, given all bound functions can be properly initialized when the body starts.