Hi!
I like this project, however I have to say that requirement for "async" also brings the need for async-recursion crate because the recursion in async functions are forbidden by the compiler.
"Ctx" also needs a lifetime declaration, and it complicates the situations with this crate.
You might provide more documentation for possibly pitfalls and caveats while using "async-recursion"
Thank you.