asyncWeak

fun <T> CoroutineScope.asyncWeak(    context: CoroutineContext = EmptyCoroutineContext,     start: CoroutineStart = CoroutineStart.DEFAULT,     block: suspend CoroutineScope.() -> T): Deferred<T>(source)

this will be used as base for WeakScope. Other parameters (context, start, block) will be used to create async