MyAwaited

Hard

Implement MyAwaited which recursively unwraps Promise types.

Examples:

Input 1: type Result = MyAwaited<Promise<string>>
Output 1: string
Input 2: type Deep = MyAwaited<Promise<Promise<number>>>
Output 2: number
Output
Run your code to see results.