The Portable Coroutine Library (PCL) implements the low level functionality for coroutines