Are there any tricks if you hit method too large?
Smaller methods?
I've never seen this with core.async. Are you also using core.match or anything?
I am kind of doing my own macros over top, so I have something like: (defmacro big-inline-await [ch] `(let [ch# ~ch] (loop [x# ch#] (if (some-channel? x#) (recur (alt! cancellation-chan ([v#] v#) x# ([v#] v#) :priority true)) x#)))) (go (big-inline-await (go (big-inline-await (go (big-inline-await (go (+ 1 2 3))))))))
And to be fair, even with my macro, maybe it's a bit of a stretch, it's because I have a test that tries to quadruple nest the macro in itself to make sure it still works and that's the only one that hits the method too large.