Greenado is a utility library that provides greenlet-based coroutines for tornado. In tornado, coroutines allow you to perform asynchronous operations without using callbacks, providing a pseudo-synchronous flow in your functions. When using Tornado's :func:`@gen.coroutine <tornado.gen.coroutine>` in a large codebase, you will notice that they tend to be 'infectious' from the bottom up. In other words, for them to be truly useful, callers of the coroutine should 'yield' to them, which requires them to be a coroutine. In turn, their callers need to 'yield', and so on.