github.com/TimWhiting/koka/blob/libuv/lib/uv/net.kk
to the current Koka version, which does have async via libuv as well, but it works just differently enough that I can't just copy-paste it over, and I mostly have no idea if what I'm doing is even correct.