Properly type the return of an async function
async function fetchUser(id: string): Promise<User> { /* ... */ }
Create a type with specific keys removed
Make every property of a type optional
Create a type with only selected keys
Make an array immutable - no push, pop, or splice