Peter Portante Let's take an outsiders look at coroutines, the underlying concept used by greenlets. First we'll define what they are conceptually, and show some typical use cases. Then we'll take a look at a sampling of the implementations out there to see what they are actually doing to implement the concept. Finally, we'll show their pluses and minuses, and highlight some features of packages that use them.