There's probably hundreds of these libraries. Almost everyone chooses to just write their own.
I wanted one because in 2007, no project existed that was laser-focused on maximizing performance (I switch threads tens of millions of times a second in my emulators), was lightweight enough (I implement my own schedulers for my emulators), and was portable enough (I am not even aware of a CPU architecture libco won't run on currently.)
The library is extremely small, and being in control of it allows me to adapt and support new targets directly as needed.
I wanted one because in 2007, no project existed that was laser-focused on maximizing performance (I switch threads tens of millions of times a second in my emulators), was lightweight enough (I implement my own schedulers for my emulators), and was portable enough (I am not even aware of a CPU architecture libco won't run on currently.)
The library is extremely small, and being in control of it allows me to adapt and support new targets directly as needed.