What does `Done` resolve to with this hand-rolled `Awaited`?type MyAwaited<T> = T extends Promise<infer U> ? MyAwaited<U> : T; type Done = MyAwaited<Promise<Promise<number>>>;