fix use-after-free in make_thread
SILICIUM_UNREACHABLE throws when NDEBUG is not defined because that is useful when debugging
transform_if_initialized did not handle the end of its input at all
delay the start of the coroutine until the first async_get_one